主题中讨论的其他器件: UNIFLASH、 MSP430G2553、 MSP430-FLASHER、 MSP-FET、 MSP-TS430RHB32A
工具/软件:TI C/C++编译器
您好!
我目前正在尝试使用 MSP430-FET 将十六进制文件加载到 MSP430i2041上。 该器件已焊接到分线板上(所有连接均已检查和验证)、然后被推入试验电路板中(检查和验证了所有条形)。 我已经在引脚15、16和14上安装了适当的电容器并上拉/下拉电阻器、并在 VCC 至 AVSS/DVSS 和15至 AVSS/DVSS 之间安装了适当的电容器。 我还具有相应的电阻器、将引脚11 (ROSC)连接到 AVSS。
十六进制文件是使用 MSP430_GCC 编译的、我同时使用 MSP430Flasher 和 UniFlash 尝试将代码下载到器件上。 闪存程序似乎都不起作用。 我已经尝试了4线制 JTAG 和2线制 SBW。 这些是我得到的错误:
MSP430Flasher:
*---- /|-------------------------------------------------------- *
* /|__ *
* /// MSP Flasher v1.3.11 *
* |/ *
*---- |/---------------------------------------------------------- *
*
*评估触发器...完成
*检查可用的 FET 调试器:
*发现 USB FET @ usbmodem1411 <-已选择
*正在初始化接口@ usbmodem1411...完成
*检查固件兼容性:
* FET 固件是最新的。
*正在读取固件版本...完成
*将 VCC 设置为3000mV...完成
*正在访问设备...完成
*正在读取设备信息...完成
*正在将文件加载到设备中...
#出口:59
#错误:无法写入设备内存
*断电...完成
*正在从设备断开连接...完成
*
***********************************************************************************************。
*驱动程序 :已关闭(无错误)
***********************************************************************************************。
UniFlash 版本4.1
状态:MSP430:写入长度为0x2bc 的第0页0x8000处的存储器块时遇到问题:无法写入器件存储器
状态:MSP430:文件加载器:验证失败:目标写入0x8000失败
状态:MSP430:无法运行目标 CPU:无法运行器件(至断点)
我在用于 MSP430 GCC 的 makefile 文件、我尝试编译的脚本(blink.c、MSP430 GCC 附带的标准示例)以及运行 makefile 后由 MSP430-elf-objcopy 生成的十六进制文件的下面附加了该脚本。
我还尝试使用完全相同的设置对十六进制文件进行编程、将其添加到不同的器件(MSP430g2553)上、一切顺利。
请帮助。 如果有明显的事情我错过了、请指出。 欢迎提出任何有用的建议。
谢谢!
makefile:
script=闪烁
objects=$(script_directory)/$(script).o
GCC_DIR =../../../bin
support_file_directory =./../../include
hex_directory =./hex_files
out_directory =./out_files
script_directory =./scripts
器件= msp430i2041
CC =$(GCC_DIR)/MSP430-elf-gcc
gdb =$(GCC_DIR)/MSP430-elf-gdb
CFLAGS =-i $(support_file_directory)-mmcu=$(device)-O2 -g
LFLAGS =-L $(support_file_directory)
十六进制:全部
$(gcc_DIR)/msp430-elf-objcopy $(out_directory)/$(script).out $(hex_directory)/$(script).hex -O ihex
全部:${objects}
$(CC)$(CFLAGS)$(LFLAGS)$? o $(out_directory)/$(script).out
调试:全部
$(GDB)./$(out_directory)/$(script).out
清理:
rm -f ./$(hex_directory)/$(script).hex ./$(out_directory)/$(script).out $(objects)
blink.hex
:0C8000000000FFFF0000FFFF0000000000000000 78
:10800C003140000A3C4004020D433E401200B012C5
:10801C006C823C4000023D40B8820D9C04243E40E2
:10802C000400B0122C82B0129C820C43B01242811C
:10803C003440008035400080264330406880344016
:10804C0000803540008026433040688034400080FA
:10805C00354000803640FEFF304068800594052492
:10806C0027440456A7121040F4FF304130413041F0
:10807C003C40B8823C80B7826D430D9C072C3D4040
:10808C0000000D9303243C40B8828D1230410A123B
:10809C003A40B8823A80B8820A110C4AB012788100
:1080AC000C5A0D4C0D110D9307243E4000000E93FD
:1080BC0003243C40B8828E123A4130410A12091214
:1080CC00C293040220203A400A803A8008800A11A8
:1080DC003A53394008801C42060C9A092C1C5356
:1080EC00824C06020C5C0C592C4C8C123040E280F9
:1080FC00B0127C803D4000000D9303243C40008076
:10810C008D12D2430402304072813E4000000E9327
:10811C0005243D4008023C4000808E123C40000289
:10812C008C93000005243D4000000D9301248D121A
:10813C00B0129A8030412183B240805A2001F2D093
:10814C0010001400F2E010001200B14300B15313
:10815C0000002C410C93FB233040508134413541BD
:10816C0036413741384139413A41304112C30C1044
:10817C0012C30C1012C30C1012C30C1012C30C1012C30C102F
:10818C0012C30C1012C30C1012C30C1012C30C1012C30C101F
:10819C0012C30C1012C30C1012C30C1012C3012C30C100F
:1081AC0012C30C1012C30C1030413D5312C30C10EF
:1081BC000D93FB23304112C30D100C1012C30D1084
:1081CC000C1012C30D100C1012C30D100C1012C396
:1081DC000D100C1012C30D100C1012C30D100C103E
:1081EC0012C30D100C1012C30D100C1012C30D1075
:1081FC000C1012C30D100C1012C30D100C1012C366
:10820C000D100C1012C30D100C1012C30D100C100D
:10821C0030413E5312C30D100C100E93FA23304113
:10822C000B4C0B5E0D9C03280E4C30405A820F4DAC
:10823C000F5E0C9FF92F0D4F0E8F4D0F5E0F938E
:10824C000E243B533D53EB4D0000304046820E9BB9.
:10825C000624EE4D00001E5330405A8230410F
:10826C000F4C0E5C0F9E0524CF4D00001F53304069
:10827C007082304130410A123A4004802C4A3C93BF
:10828C0005248C123A50FEFF304088823A4130412E
:10829C00B0121681B0128282B0124A80B0123C80A9
:0C82AC003041B0125880B012C880304140
0482B8000000000000C2
:02FFFE000C8075
:040000030000800C6D
:00000001FF
blink.c:
//
// MSP430闪烁 LED 演示-软件切换 P1.4
//
//说明;通过对软件循环内的 P1.4执行异或操作来切换 P1.4。
// ACLK = n/a、MCLK = SMCLK =默认 DCO
//
// MSP430i20xx
//------------
///|\| XIN|-
//|||
//-|RST XOUT|-
//||
//| P1.4|--> LED
//
// J. Stevenson
// Texas Instruments、Inc
// 2011年7月
//使用 Code Composer Studio v5构建
//
#include
int main (void){
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
P1DIR |= BIT4;//将 P1.4设置为输出方向
for (;;){
volatile unsigned int i;// volatile 以阻止优化
P1OUT ^= BIT4;//使用异或切换 P1.4
I =-1;// SW 延迟
我----
while (i!= 0);
}
返回0;
}