Thread 中讨论的其他器件:SysConfig、 controlSUITE、 C2000WARE
我解决了其中的一些问题、并认为我通过 E2E 帮助解决了这个问题:
但是、问题未解决、但该 TT 已标记为已解决、因此我将启动新线程。 如果这不是正确的协议、请原谅我。
我正在编写应用手册 SPRACN1、它基本上是通过读取单个 GPIO 引脚引导至 SCIA 的变体。 如果引脚为高电平、则选择 SCIA 引导。 为了测试操作、我有一个短程序、根据引导引脚状态调用复位和重新引导。 如果输入为低电平、程序会重复运行、如果为高电平、程序会停止运行、我将其推导为 SCIA 引导模式。 我在 SCIA 引脚上放置示波器探针并启动 serial_flash_programmer。 它正在发送'A'、但我的板没有响应(我使用 com 终端验证了端口)。 也许应用手册缺少一些内容、但我认为 Z2 OTP 设置正确、至少它显然会更改引导模式。 我最大的怀疑(Charles 之前建议的)是 OTP 地址不正确。
应用程序代码:
#include "driverlib.h"
#include "device.h"
#include "string.h"
// Per SPRACN1
#pragma RETAIN(otp_z2_data)
#pragma DATA_SECTION(otp_z2_data,"dcsm_zsel_z2_1");
const long otp_z2_data = 0x5AFFFF0F;
#pragma RETAIN(otp_z2_data_2)
#pragma DATA_SECTION(otp_z2_data_2,"dcsm_zsel_z2_2");
const long otp_z2_data_2 = 0xFFFF0103;
// End SPRACN1
void setup(void);
void scibFlush(void);
void txb(char* s);
void main(void)
{
uint32_t in = 0;
setup();
txb("\r\nStart:");
GPIO_setDirectionMode(57U, GPIO_DIR_MODE_IN);
in = GPIO_readPin(57U);
txb(in == 1 ? "\nHi" : "\nLow"); //Write to SCI B and flush.
SysCtl_resetDevice();
return 0;
}
以下是链接 cmd 文件插入:
MEMORY
{
PAGE 0:
DCSM_ZSEL_Z2_P0: origin = 0x078208, length = 0x000002
DCSM_ZSEL_Z2_P1: origin = 0x07820C, length = 0x000002
//DCSM_ZSEL_Z1_P0: origin = 0x07800C, length = 0x000002
//DCSM_ZSEL_Z1_P1: origin = 0x07801C, length = 0x000002
}
SECTIONS
{
dcsm_zsel_z2_1 : > DCSM_ZSEL_Z2_P0, PAGE = 0
dcsm_zsel_z2_2 : > DCSM_ZSEL_Z2_P1, PAGE = 0
}
MEMORY
{ ...


