Part Number: F29H85X-SOM-EVM
Other Parts Discussed in Thread: TMDSHSECDOCK, SYSCONFIG
Tool/software:
Hello everyone,
First of all, this is the hardware I'm using:
- F29H85X-SOM-EVM MCU114E1-002
- MCU134A Adapter
- XDS110 Debugger
- TMDSHSECDOCK rev F
- NCV7351 CANFD Transceiver
So now with that background I can tell you I change on the sysconfig to match the HSEC pins 80 and 82, and I did connect those ones to TX and RX pins from transiever.
/**
* 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 "F29H85x" --part "F29H85x_256ZEX" --package "256ZEX" --context "CPU1" --product "MCU_SDK_F29H85x@1.00.00.00"
* @v2CliArgs --device "F29H850TU" --package "256ZEX" --variant "TMS320F29H850TU9" --context "CPU1" --product "MCU_SDK_F29H85x@1.00.00.00"
* @versions {"tool":"1.22.0+3893"}
*/
/**
* Import the modules used in this configuration.
*/
const clocktree = scripting.addModule("/driverlib/clocktree.js");
const jtag = scripting.addModule("/driverlib/jtag.js");
const mcan = scripting.addModule("/driverlib/mcan.js", {}, false);
const mcan1 = mcan.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
const divider8 = system.clockTree["MCANACLKDIV"];
divider8.divideValue = 10;
const divider15 = system.clockTree["PLL_REFDIV"];
divider15.divideValue = 1;
const multiplier1 = system.clockTree["PLL_IMULT"];
multiplier1.multiplyValue = 40;
const mux7 = system.clockTree["OSCCLKSRCSEL"];
mux7.inputSelect = "INTOSC2";
mcan1.$name = "myMCAN0";
mcan1.additionalCoreConfig = true;
mcan1.stdFiltsUsed = [0];
mcan1.loopbackMode = false;
mcan1.nomRatePrescalar = 0;
mcan1.nomTimeSeg1 = 9;
mcan1.nomTimeSeg2 = 8;
mcan1.nomSynchJumpWidth = 8;
mcan1.dataRatePrescalar = 0;
mcan1.mcan.$assign = "MCAND";
mcan1.mcan.mcan_rxPin.$assign = "GPIO68";
mcan1.mcan.mcan_txPin.$assign = "GPIO67";
mcan1.periphClock.$name = "driverlib_perClock0";
mcan1.periphConfig.$name = "driverlib_perConfig0";
mcan1.stdFilt0.$name = "stdFilt0";
mcan1.stdFilt0.sfec = "MCAN_STDFILTEC_RXBUFF";
mcan1.stdFilt0.sfid1 = 4;
/**
* 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.
*/
jtag.JTAG.$suggestSolution = "JTAG";
jtag.JTAG.tdoPin.$suggestSolution = "GPIO223/TDO";
jtag.JTAG.tdiPin.$suggestSolution = "GPIO222/TDI";
I know for a fact that the code is stock in this while:

And this is because the MCAN_TXBRP is 2 so this means that the buffer is still pending to be sent.
I just want to double check that I'm not missing any other CAN related change on the hardware.
I would appreciate your support,
Martin


