您好,
上周,我访问了TI的嵌入式世界,并与MSP MCU的引导加载器专家进行了交谈。
他告诉我有一个应用说明,描述了MSP430已通过UART在Linux ARM CPU上闪存。
他说,BSL也有一个ARM Linux源代码。
是否有人知道在哪里可以找到此应用说明?
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.
您好,
上周,我访问了TI的嵌入式世界,并与MSP MCU的引导加载器专家进行了交谈。
他告诉我有一个应用说明,描述了MSP430已通过UART在Linux ARM CPU上闪存。
他说,BSL也有一个ARM Linux源代码。
是否有人知道在哪里可以找到此应用说明?
您好,Ryan:
我看到了MSP-EXP430G2_I2CMSPBootHost项目中的代码,并且对目标应用程序.txt数据有疑问。
Demo Host项目使用应用程序(如"App1_G2553_I2C_BSLBased _G2Host.txt")通过I2C/UART/SPI闪存至目标。
在此文本文件中,代码在地址段0和1中分隔,如以下所示:
const uint16_t App1_Addr[2]={
0xc004,//地址段0
0xfbce,//地址段1
};
const uint16_t App1_size[2]={
360, // Size segment0
50, //大小段1
};
const uint8_t App1_0[]={
0xb2,0x40,0x80,0x5a,0x20,0x01,0xd2,0xd3,0x22,0x00,0xd2,0xd3,0x21,0x00,0x0d,0x12,
0x0E,0x12,0x3d,0x40,0x44,0x28,0x1e,0x43,0x1d,0x83,0x0e,0x73,0xfd,0x23,0x0d,0x93,
0xfb,0x23,0x3e,0x41,0x3d,0x41,0x00,0x3c,0x03,0x43,0xd2,0xc3,0x21,0x00,0x0d,0x12,
0x0E,0x12,0x3d,0x40,0x44,0x28,0x1e,0x43,0x1d,0x83,0x0e,0x73,0xfd,0x23,0x0d,0x93,
0xfb,0x23,0x3e,0x41,0x3d,0x41,0x00,0x3c,0x03,0x43,0xd2,0xd3,0x21,0x00,0x0d,0x12,
0x0E,0x12,0x3d,0x40,0x44,0x28,0x1e,0x43,0x1d,0x83,0x0e,0x73,0xfd,0x23,0x0d,0x93,
0xfb,0x23,0x3e,0x41,0x3d,0x41,0x00,0x3c,0x03,0x43,0xd2,0xc3,0x21,0x00,0xf2,0xd2,
0x21,0x00,0xf2,0xd2,0x27,0x00,0xf2,0xd2,0x24,0x00,0xf2,0xd2,0x25,0x00,0xb2,0x40,
0x10,0x00,0x62,0x01,0xb2,0x40,0xe7,0x03,0x72,0x01,0xb2,0x40,0x10,0x01,
0x32,0xd0,0xd8,0x00,0x0c,0x43,0x30,0x41,0x0a,0x12,0x09,0x12,0x3f,0x40,0x00,0x00,
0x3F,0x90,0x01,0x00,0x19,0x28,0x3f,0x40,0x00,0x00,0x3f,0x90,0x01,0x00,0x14,0x28,
0x3a,0x40,0x00,0x00,0x3a,0x80,0x00,0x3a,0x50,0x03,0x00,0x0a,0x11,0x0a,0x11,0x11,
0x39,0x40,0x00,0x00,0x3c,0x49,0x7f,0x4c,0x4f,0x4f,0x0F,0x5f,0x1f,0x4f,0x00,0x00,
0x3D,0x49,0x8f,0x12,0x1a,0x83,0xf 6,0x23,0x3f,0x40,0x00,0x3f,0x90,0x00,0x00,
0x08,0x24,0x3a,0x40,0x00,0x02,0x3c,0x3f,0x4a,0x8F,0x12,0x3a,0x90,0x00,0x00,
0xfb,0x23,0x30,0x40,0x52,0xc1,0x0f,0x12,0x0e,0x12,0x0d,0x12,0x0c,0x12,0x0b,0x12,
0xc2,0x43,0x23,0xb0,0x12,0x32,0xc1,0x3b,0x41,0x3c,0x41,0x3d,0x41,0x41,
0x3F,0x41,0x00,0x13,0x31,0x40,0x00,0x04,0xb0,0x12,0x62,0xc1,0x0c,0x93,0x02,0x24,
0xb0,0x12,0x9c,0xc0,0x43,0xb0,0x12,0x04,0xc0,0xb0,0x12,0x66,0xc1,0xb2,0x40,
0xde,0xc0,0x00,0x02,0xd2,0xd3,0x02,0x02,0x32,0xc2,0x03,0x43,0xb2,0x40,0x0b,0x5a,
0x20,0x01,0xff,0x3f,0x34,0x41,0x41,0x36,0x41,0x37,0x41,0x38,0x41,0x39,0x41,
0x3a,0x41,0x30,0x41,0xd2,0xe3,0x21,0x00,0x92,0xc3,0x62,0x01,0x00,0x13,0x1c,0x43,
0x30,0x41,0x03,0x43,0xff,0x3f,0xff,0x3f,
};
const uint8_t App1_1[]={
0x30,0x40,0xfa,0xc0,0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,
0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,0x30,0x40,0x58,0xc1,0x30,0x40,0x6a,0xc1,
0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,0x30,0x40,0x6a,0xc1,
0x18,0xc1,
};
const uint8_t *应用1_PTR[2]={
App1_0,
App1_1,
};
在我的情况下,我想为MSP432使用从CCS生成的输出文件.txt。
问题是我只有十六进制数据值。(见附件)
如何在这种句段中分隔.text? 我如何知道哪些值属于哪个细分市场?
e2e.ti.com/.../driverlib_5F00_empty_5F00_project_5F00_from_5F00_source.txt
您好,Ryan:
是的,我将定制引导加载程序解决方案,以便它使用正确的配置,如BSLBased _UART,而不是I2C (如果这是您的意思)。
我不明白的是,为什么我必须将目标MSPBoot材料应用到MSP432,因为我使用的是UART BSL端口的WFP 1.2 和WFP 1.3。 我认为,一旦主机启动与引导命令的通信,MSP432将自动进入引导模式。
例如,如果我在Windows PC上使用BSL-Scriptter,并在相同的端口上通信,使用电平转换器,我就不必在MSP432上添加任何材料,就能像我所理解的那样正常工作。 BSL脚本程序在MSP432在引导模式下自动进入的端口上发送此类命令,擦除闪存,加载新固件。
MSP432上是否固定了开始/结束/CRC闪点?