Other Parts Discussed in Thread: UNIFLASH, AWR2944, SYSCONFIG
Tool/software:
Hello, we want to replace the flash chip matching the 2944. Refer to the sprach9e document to confirm that WINBOND's W25Q32JV chip is available. We modified the syscfg according to the mmwave_mcuplus_sdk_04_04_01_02\mmwave_mcuplus_sdk_04_04_01_02\tools\custom_flash\W25Q32JVSQ.json file. we have modified the syscfg files of sbl_uart_uniflash, sbl_qspi, and appimage related projects, and used mmwave_mcuplus_sdk_04_04_01_02\mcu_plus_sdk_awr294x_09_00_00_15\examples\drivers\boot\sbl_uart_uniflash related operations to burn.But the burning is unsuccessful, please tell us the correct method.
Visible attachments using syscfg file
/**
* These arguments were used when this file was generated. They will be automatically applied on subsequent loads
* via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
* @cliArgs --device "AWR294X" --package "ETS" --part "Default" --context "r5fss0-0" --product "MCU_PLUS_SDK_AWR2944@09.00.00"
* @versions {"tool":"1.14.0+2667"}
*/
/**
* Import the modules used in this configuration.
*/
const flash = scripting.addModule("/board/flash/flash", {}, false);
const flash1 = flash.addInstance();
const adcbuf = scripting.addModule("/drivers/adcbuf/adcbuf", {}, false);
const adcbuf1 = adcbuf.addInstance();
const cbuff = scripting.addModule("/drivers/cbuff/cbuff", {}, false);
const cbuff1 = cbuff.addInstance();
const crc = scripting.addModule("/drivers/crc/crc", {}, false);
const crc1 = crc.addInstance();
const edma = scripting.addModule("/drivers/edma/edma", {}, false);
const edma1 = edma.addInstance();
const edma2 = edma.addInstance();
const ipc = scripting.addModule("/drivers/ipc/ipc");
const mcan = scripting.addModule("/drivers/mcan/mcan");
const mcan1 = mcan.addInstance();
const mibspi = scripting.addModule("/drivers/mibspi/mibspi", {}, false);
const mibspi1 = mibspi.addInstance();
const uart = scripting.addModule("/drivers/uart/uart", {}, false);
const uart1 = uart.addInstance();
const uart2 = uart.addInstance();
const clock = scripting.addModule("/kernel/dpl/clock");
const debug_log = scripting.addModule("/kernel/dpl/debug_log");
const mpu_armv7 = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
const mpu_armv71 = mpu_armv7.addInstance();
const mpu_armv72 = mpu_armv7.addInstance();
const mpu_armv73 = mpu_armv7.addInstance();
const mpu_armv74 = mpu_armv7.addInstance();
const mpu_armv75 = mpu_armv7.addInstance();
const mpu_armv76 = mpu_armv7.addInstance();
const mpu_armv77 = mpu_armv7.addInstance();
const mpu_armv78 = mpu_armv7.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
flash1.$name = "CONFIG_FLASH0";
flash1.device = "CUSTOM_FLASH";
flash1.flashSize = 4194304;
flash1.flashManfId = "0xEF";
flash1.flashDeviceId = "0x4016";
flash1.flashQeType = "5";
flash1.fname = "W25Q32JV";
flash1.peripheralDriver.$name = "CONFIG_QSPI0";
adcbuf1.$name = "CONFIG_ADCBUF0";
cbuff1.$name = "CONFIG_CBUFF0";
crc1.$name = "CONFIG_CRC0";
edma1.$name = "CONFIG_EDMA0";
edma1.instance = "EDMA_DSS_B";
edma1.regionId = 0;
edma1.edmaRmDmaCh[0].resourceType = scripting.forceWrite("ownDmaCh");
edma1.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM0";
edma1.edmaRmDmaCh[0].startIndex = 0;
edma1.edmaRmDmaCh[0].endIndex = 63;
edma1.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM1";
edma1.edmaRmTcc[0].$name = "CONFIG_EDMA_RM2";
edma1.edmaRmTcc[0].startIndex = 0;
edma1.edmaRmTcc[0].endIndex = 63;
edma1.edmaRmParam[0].$name = "CONFIG_EDMA_RM3";
edma1.edmaRmParam[0].startIndex = 0;
edma1.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM4";
edma1.edmaRmReservedDmaCh[0].startIndex = 0;
edma1.edmaRmReservedDmaCh[0].endIndex = 0;
ipc.r5fss0_1 = "NONE";
ipc.vringNumBuf = 1;
ipc.vringMsgSize = 1152;
mcan1.$name = "CONFIG_MCAN0";
mcan1.MCAN.RX.$assign = "ball.D16";
mcan1.MCAN.TX.$assign = "ball.D17";
mibspi1.$name = "CONFIG_MIBSPI0";
mibspi1.bitRate = 600000;
mibspi1.t2cDelay = 0x5;
mibspi1.c2tDelay = 0x5;
mibspi1.dataSize = 8;
mibspi1.frameFormat = "POL0_PHA1";
mibspi1.advanced = true;
mibspi1.csHold = true;
mibspi1.instance = "MIBSPIB";
mibspi1.MIBSPI.$assign = "MIBSPIB";
mibspi1.MIBSPI.CLK.pu_pd = "nopull";
mibspi1.MIBSPI.CLK.$assign = "ball.T13";
mibspi1.MIBSPI.MISO.pu_pd = "nopull";
mibspi1.MIBSPI.MISO.$assign = "ball.U13";
mibspi1.MIBSPI.MOSI.pu_pd = "nopull";
mibspi1.MIBSPI.MOSI.$assign = "ball.V12";
mibspi1.mibspiChannel[0].$name = "CONFIG_MIBSPI_CH0";
const edma3 = edma.addInstance({}, false);
edma3.$name = "CONFIG_EDMA2";
mibspi1.edmaConfig = edma3;
edma3.edmaRmDmaCh[0].resourceType = scripting.forceWrite("ownDmaCh");
edma3.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM10";
edma3.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM11";
edma3.edmaRmTcc[0].$name = "CONFIG_EDMA_RM12";
edma3.edmaRmParam[0].$name = "CONFIG_EDMA_RM13";
edma3.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM14";
uart1.$name = "CONFIG_UART1";
uart1.intrEnable = "DISABLE";
uart1.baudRate = 3125000;
uart1.UART.$assign = "UARTB";
uart1.UART.RX.$used = false;
uart1.UART.TX.$assign = "ball.A14";
uart2.$name = "CONFIG_UART0";
uart2.baudRate = 921600;
uart2.UART.$assign = "UARTA";
uart2.UART.RX.$assign = "ball.B16";
uart2.UART.TX.$assign = "ball.C16";
edma2.$name = "CONFIG_EDMA1";
flash1.peripheralDriver.edmaConfig = edma2;
uart1.edmaConfig = edma2;
uart2.edmaConfig = edma2;
edma2.edmaRmDmaCh[0].$name = "CONFIG_EDMA_RM5";
edma2.edmaRmQdmaCh[0].$name = "CONFIG_EDMA_RM6";
edma2.edmaRmTcc[0].$name = "CONFIG_EDMA_RM7";
edma2.edmaRmParam[0].$name = "CONFIG_EDMA_RM8";
edma2.edmaRmReservedDmaCh[0].$name = "CONFIG_EDMA_RM9";
debug_log.enableLogZoneError = false;
debug_log.enableLogZoneWarning = false;
mpu_armv71.$name = "CONFIG_MPU_REGION0";
mpu_armv71.attributes = "Device";
mpu_armv71.allowExecute = false;
mpu_armv72.$name = "CONFIG_MPU_REGION1";
mpu_armv72.size = 14;
mpu_armv73.$name = "CONFIG_MPU_REGION2";
mpu_armv73.baseAddr = 0x80000;
mpu_armv73.size = 14;
mpu_armv74.$name = "CONFIG_MPU_REGION3";
mpu_armv74.baseAddr = 0x10200000;
mpu_armv74.size = 20;
mpu_armv75.$name = "CONFIG_MPU_REGION4";
mpu_armv75.attributes = "NonCached";
mpu_armv75.size = 14;
mpu_armv75.baseAddr = 0x102EC000;
mpu_armv76.$name = "CONFIG_MPU_REGION5";
mpu_armv76.baseAddr = 0xC5000000;
mpu_armv76.size = 13;
mpu_armv76.attributes = "NonCached";
mpu_armv76.allowExecute = false;
mpu_armv77.$name = "CONFIG_MPU_REGION6";
mpu_armv77.baseAddr = 0xA4030000;
mpu_armv77.size = 12;
mpu_armv77.attributes = "NonCached";
mpu_armv77.allowExecute = false;
mpu_armv78.$name = "CONFIG_MPU_REGION7";
mpu_armv78.baseAddr = 0x88000000;
mpu_armv78.size = 21;
mpu_armv78.attributes = "Cached+Sharable";
mpu_armv78.allowExecute = false;
/**
* Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
* version of the tool will not impact the pinmux you originally saw. These lines can be completely deleted in order to
* re-solve from scratch.
*/
flash1.peripheralDriver.QSPI["0"].$suggestSolution = "ball.U11";
flash1.peripheralDriver.QSPI["1"].$suggestSolution = "ball.V11";
flash1.peripheralDriver.QSPI["2"].$suggestSolution = "ball.T11";
flash1.peripheralDriver.QSPI["3"].$suggestSolution = "ball.R12";
flash1.peripheralDriver.QSPI.$suggestSolution = "QSPI0";
flash1.peripheralDriver.QSPI.CLK.$suggestSolution = "ball.R10";
flash1.peripheralDriver.QSPI.CS.$suggestSolution = "ball.U12";
mcan1.MCAN.$suggestSolution = "MCANA";
mibspi1.mibspiChannel[0].MSS_CSn.$suggestSolution = "ball.U14";