AURIX™ Forum Discussions
Sort by:
AURIX™
Hello Guys,I am working on a TC23x device. There is query with Flash write\erase.Problem Statement: • Attempt of writing 0x100 bytes causing memory co...
Show More
Hello Guys,
I am working on a TC23x device. There is query with Flash write\erase.
Problem Statement:
• Attempt of writing 0x100 bytes causing memory corruption.
Scenario:
• There is no content in the memory. Attempt of write into memory is successful and any attempt of reading this flash is causing exception.
• Attempt of write after erasing the particular sector is fine and any read attempt is also successful without any exception.
• Attempting a write into any other address in the same sector is successful, but read of that particular memory is causing an exception.
Understanding:
• Memory erase is always mandatory before writing the empty space of a particular sector. In this case we need to take the backup of the written memory followed by erase and then write the complete memory.
Please let me know if my understanding is correct.
Thanks in advance!
Regards
VVSS Show Less
I am working on a TC23x device. There is query with Flash write\erase.
Problem Statement:
• Attempt of writing 0x100 bytes causing memory corruption.
Scenario:
• There is no content in the memory. Attempt of write into memory is successful and any attempt of reading this flash is causing exception.
• Attempt of write after erasing the particular sector is fine and any read attempt is also successful without any exception.
• Attempting a write into any other address in the same sector is successful, but read of that particular memory is causing an exception.
Understanding:
• Memory erase is always mandatory before writing the empty space of a particular sector. In this case we need to take the backup of the written memory followed by erase and then write the complete memory.
Please let me know if my understanding is correct.
Thanks in advance!
Regards
VVSS Show Less
AURIX™
Hi,
are there any sample codes for multican interrupts?
are there any sample codes for multican interrupts?
AURIX™
Hi. I'm using TC212 and iLLD_1_0_0_11_0 with Tasking.Last day I have fount that there is some problem which means when i adjust sampling point. I coul...
Show More
Hi.
I'm using TC212 and iLLD_1_0_0_11_0 with Tasking.
Last day I have fount that there is some problem which means when i adjust sampling point. I couldn't do that.
I wanted to set up sampling point as 80%. I realized that Problem is derived from Clock's frequency. But Setting value fixed as fclc by iLLD is to make me complicated. because There is no option to change to fosc0.
I saw that This iLLD version supports only fclc. So I am trying to find out correct version through ICP. But Any update is not there.
I want to know how to use external osc for multi CAN.
PS. I want to set up that CAN source clk is 20MHz. So I chose OSC being 20MHz.
I cannot make 20Mhz of CAN source using Fclc because Fclc initial value is 133Mhz. So Any dividers couldn't make it in my environment. Show Less
I'm using TC212 and iLLD_1_0_0_11_0 with Tasking.
Last day I have fount that there is some problem which means when i adjust sampling point. I couldn't do that.
I wanted to set up sampling point as 80%. I realized that Problem is derived from Clock's frequency. But Setting value fixed as fclc by iLLD is to make me complicated. because There is no option to change to fosc0.
I saw that This iLLD version supports only fclc. So I am trying to find out correct version through ICP. But Any update is not there.
I want to know how to use external osc for multi CAN.
PS. I want to set up that CAN source clk is 20MHz. So I chose OSC being 20MHz.
I cannot make 20Mhz of CAN source using Fclc because Fclc initial value is 133Mhz. So Any dividers couldn't make it in my environment. Show Less
AURIX™
Hello!I have encountered a problem I never seen before:I have a working SW, that is downloaded to target(TC234L) using a IC5000 debugger. The SW is do...
Show More
Hello!
I have encountered a problem I never seen before:
I have a working SW, that is downloaded to target(TC234L) using a IC5000 debugger.
The SW is doing what it shall do, when the debugger is connected.
But if I remove the debugger and perform a POR, the SW starts to run for ~40ms, and then just halts.
What I have seen is that:
Periodic SW toggling on a GPIO port stops after ~40ms.
SMU toggling on P33.1 stops.
QPSI communication stops stops after ~40ms.
I have tried to remove almost all code, and just have the startup code + a periodic GPIO toggling, but with the same problem.
I have tried on our PCB and also a evaluation board, with the same behavior.
But with the Infineon Motor controller example application, it works fine, I can remove the debugger and perform a reset.
And If I start the execution via the debugger, and then remove the JTAG, the SW continues to run as expected.
Does anyone have any idea or tips where I shall start looking for the problem?
Thanks and regards Show Less
I have encountered a problem I never seen before:
I have a working SW, that is downloaded to target(TC234L) using a IC5000 debugger.
The SW is doing what it shall do, when the debugger is connected.
But if I remove the debugger and perform a POR, the SW starts to run for ~40ms, and then just halts.
What I have seen is that:
Periodic SW toggling on a GPIO port stops after ~40ms.
SMU toggling on P33.1 stops.
QPSI communication stops stops after ~40ms.
I have tried to remove almost all code, and just have the startup code + a periodic GPIO toggling, but with the same problem.
I have tried on our PCB and also a evaluation board, with the same behavior.
But with the Infineon Motor controller example application, it works fine, I can remove the debugger and perform a reset.
And If I start the execution via the debugger, and then remove the JTAG, the SW continues to run as expected.
Does anyone have any idea or tips where I shall start looking for the problem?
Thanks and regards Show Less
AURIX™
Hello,I made simple program in TASKING IDE where im sending CAN message from CAN node1 to CAN node0. I managed to send and receive CAN message with an...
Show More
Hello,
I made simple program in TASKING IDE where im sending CAN message from CAN node1 to CAN node0. I managed to send and receive CAN message with and without interrupt.
Now what i should do is connect tc27x board with CAN box(VN5610A CAN interface), send CAN message from CANOE and receive it on board but i cant get it working. Im using same code where sending
message from CAN node1 to CAN node0 is working properly, but when i connect CAN node0 to CAN interface, it just wont receive message. I tried using wires with and without termination resistors but still
no success.
My program never exits from while loop in RecV() function, even tho im sure i sent CAN message from CANOE.
Here is my code:
void RecV(void);
void SendMessage(void);
const unsigned id = 0x100 ;
IfxMultican_Can can;
IfxMultican_Can_NodeConfig canNodeConfig;
IfxMultican_Can_Node canSrcNode;
IfxMultican_Can_Node canDstNode;
IfxMultican_Can_MsgObj canSrcMsgObj;
IfxMultican_Can_MsgObj canDstMsgObj;
int main(void)
{
IfxMultican_Can_Config canConfig;
IfxMultican_Can_initModuleConfig(&canConfig, &MODULE_CAN);
IfxMultican_Can_initModule(&can, &canConfig);
IfxMultican_Can_Node_initConfig(&canNodeConfig,&can);
//Node 1
canNodeConfig.baudrate = 500000;
canNodeConfig.nodeId = IfxMultican_NodeId_1;
canNodeConfig.rxPin = &IfxMultican_RXD1B_P14_1_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD1_P14_0_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;
IfxMultican_Can_Node_init(&canDstNode, &canNodeConfig);
//Node 0
canNodeConfig.nodeId = IfxMultican_NodeId_0;
canNodeConfig.rxPin = &IfxMultican_RXD0B_P20_7_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD0_P20_8_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;
IfxMultican_Can_Node_init(&canSrcNode, &canNodeConfig);
//Msg
IfxMultican_Can_MsgObjConfig canMsgObjConfig;
IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig, &canSrcNode);
canMsgObjConfig.msgObjId = 0;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_transmit;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;
IfxMultican_Can_MsgObj_init(&canSrcMsgObj, &canMsgObjConfig);
//Recv
IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig, &canDstNode);
canMsgObjConfig.msgObjId = 1;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_receive;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;
IfxMultican_Can_MsgObj_init(&canDstMsgObj, &canMsgObjConfig);
CanNodeSetInterrupt(IfxMultican_RXD1B_P14_1_IN,IfxMultican_SrcId_0,IfxSrc_Tos_cpu0,IFX_INTPRIO_CAN_NODE1);
//SendMessage();
RecV();
}
void RecV()
{
IfxMultican_Message msg;
IfxMultican_Message_init(&msg, 0xdead, 0xdeadbeef, 0xdeadbeef, IfxMultican_DataLengthCode_8); // start with invalid values
// wait until Multican received a new message
while( !IfxMultican_Can_MsgObj_isRxPending(&canDstMsgObj) )
{
printf("Waiting for msg...\n");
}
// read message
IfxMultican_Status readStatus = IfxMultican_Can_MsgObj_readMessage(&canDstMsgObj, &msg);
printf("Received something!- %x %x\n",msg.data[0],msg.data[1]);
}
void SendMessage()
{
IfxMultican_Message msgSend;
IfxMultican_Message_init(&msgSend, id,0x00000000,0x00000000,IfxMultican_DataLengthCode_8);
while( IfxMultican_Can_MsgObj_sendMessage(&canSrcMsgObj,&msgSend) == IfxMultican_Status_notSentBusy)
{
printf("CAN bus busy\n");
}
} Show Less
I made simple program in TASKING IDE where im sending CAN message from CAN node1 to CAN node0. I managed to send and receive CAN message with and without interrupt.
Now what i should do is connect tc27x board with CAN box(VN5610A CAN interface), send CAN message from CANOE and receive it on board but i cant get it working. Im using same code where sending
message from CAN node1 to CAN node0 is working properly, but when i connect CAN node0 to CAN interface, it just wont receive message. I tried using wires with and without termination resistors but still
no success.
My program never exits from while loop in RecV() function, even tho im sure i sent CAN message from CANOE.
Here is my code:
void RecV(void);
void SendMessage(void);
const unsigned id = 0x100 ;
IfxMultican_Can can;
IfxMultican_Can_NodeConfig canNodeConfig;
IfxMultican_Can_Node canSrcNode;
IfxMultican_Can_Node canDstNode;
IfxMultican_Can_MsgObj canSrcMsgObj;
IfxMultican_Can_MsgObj canDstMsgObj;
int main(void)
{
IfxMultican_Can_Config canConfig;
IfxMultican_Can_initModuleConfig(&canConfig, &MODULE_CAN);
IfxMultican_Can_initModule(&can, &canConfig);
IfxMultican_Can_Node_initConfig(&canNodeConfig,&can);
//Node 1
canNodeConfig.baudrate = 500000;
canNodeConfig.nodeId = IfxMultican_NodeId_1;
canNodeConfig.rxPin = &IfxMultican_RXD1B_P14_1_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD1_P14_0_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;
IfxMultican_Can_Node_init(&canDstNode, &canNodeConfig);
//Node 0
canNodeConfig.nodeId = IfxMultican_NodeId_0;
canNodeConfig.rxPin = &IfxMultican_RXD0B_P20_7_IN;
canNodeConfig.rxPinMode = IfxPort_InputMode_pullUp;
canNodeConfig.txPin = &IfxMultican_TXD0_P20_8_OUT;
canNodeConfig.txPinMode = IfxPort_OutputMode_pushPull;
IfxMultican_Can_Node_init(&canSrcNode, &canNodeConfig);
//Msg
IfxMultican_Can_MsgObjConfig canMsgObjConfig;
IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig, &canSrcNode);
canMsgObjConfig.msgObjId = 0;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_transmit;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;
IfxMultican_Can_MsgObj_init(&canSrcMsgObj, &canMsgObjConfig);
//Recv
IfxMultican_Can_MsgObj_initConfig(&canMsgObjConfig, &canDstNode);
canMsgObjConfig.msgObjId = 1;
canMsgObjConfig.messageId = id;
canMsgObjConfig.frame = IfxMultican_Frame_receive;
canMsgObjConfig.control.messageLen = IfxMultican_DataLengthCode_8;
canMsgObjConfig.control.extendedFrame = FALSE;
canMsgObjConfig.control.matchingId = FALSE;
IfxMultican_Can_MsgObj_init(&canDstMsgObj, &canMsgObjConfig);
CanNodeSetInterrupt(IfxMultican_RXD1B_P14_1_IN,IfxMultican_SrcId_0,IfxSrc_Tos_cpu0,IFX_INTPRIO_CAN_NODE1);
//SendMessage();
RecV();
}
void RecV()
{
IfxMultican_Message msg;
IfxMultican_Message_init(&msg, 0xdead, 0xdeadbeef, 0xdeadbeef, IfxMultican_DataLengthCode_8); // start with invalid values
// wait until Multican received a new message
while( !IfxMultican_Can_MsgObj_isRxPending(&canDstMsgObj) )
{
printf("Waiting for msg...\n");
}
// read message
IfxMultican_Status readStatus = IfxMultican_Can_MsgObj_readMessage(&canDstMsgObj, &msg);
printf("Received something!- %x %x\n",msg.data[0],msg.data[1]);
}
void SendMessage()
{
IfxMultican_Message msgSend;
IfxMultican_Message_init(&msgSend, id,0x00000000,0x00000000,IfxMultican_DataLengthCode_8);
while( IfxMultican_Can_MsgObj_sendMessage(&canSrcMsgObj,&msgSend) == IfxMultican_Status_notSentBusy)
{
printf("CAN bus busy\n");
}
} Show Less
AURIX™
Hi,I am working on TC297x controller with multicore autosar os configuration.I am trying to setup memory proection but im facing issue when i try to e...
Show More
Hi,
I am working on TC297x controller with multicore autosar os configuration.
I am trying to setup memory proection but im facing issue when i try to enable SYSCON.PROTEN bit.
In the architecture manual they mentioned that before setting SYSCON.PROTEN bit make sure that
"Protection register set is initialized".
How do i initialize protection register set.
Thanks in advance.
Regards,
Autosarian. Show Less
I am working on TC297x controller with multicore autosar os configuration.
I am trying to setup memory proection but im facing issue when i try to enable SYSCON.PROTEN bit.
In the architecture manual they mentioned that before setting SYSCON.PROTEN bit make sure that
"Protection register set is initialized".
How do i initialize protection register set.
Thanks in advance.
Regards,
Autosarian. Show Less
AURIX™
How I can detect a voltage drift on the ADC Reference Voltages, somebody has an idea?
AURIX™
hi,I've got problem with ESR interruption in standby/run mode.I'm recently configuring standby mode on aurix Tc222.Data sheet says that ESR1 pin can g...
Show More
hi,
I've got problem with ESR interruption in standby/run mode.
I'm recently configuring standby mode on aurix Tc222.
Data sheet says that ESR1 pin can generate interruption to wake-up microcontroller and can as well work as general input output.
I want to use this as wake-up trigger as well as general I/O that generates interruptions in run mode.
datasheet says also that ESR pins are handled by ERU module (Chapter 8.4.1.2) .
The problem is that, ERU module, neither Scu module, hasn't got any references, except few bit fields in register headers files(iLLD), to this pin .
I can only configure Scu module that concern few ESR registers in wake-up/standby mode.
Datasheet says very few about software configuration in standby and nothing about using it in run mode.
Where can I find information, how to configure it ? Show Less
I've got problem with ESR interruption in standby/run mode.
I'm recently configuring standby mode on aurix Tc222.
Data sheet says that ESR1 pin can generate interruption to wake-up microcontroller and can as well work as general input output.
I want to use this as wake-up trigger as well as general I/O that generates interruptions in run mode.
datasheet says also that ESR pins are handled by ERU module (Chapter 8.4.1.2) .
The problem is that, ERU module, neither Scu module, hasn't got any references, except few bit fields in register headers files(iLLD), to this pin .
I can only configure Scu module that concern few ESR registers in wake-up/standby mode.
Datasheet says very few about software configuration in standby and nothing about using it in run mode.
Where can I find information, how to configure it ? Show Less
AURIX™
Hi all,Performance Counter Registers on TC297 board works only with connected usb cable on board (i suppose,it is debug mode). _mtcr(CPU_M1CNT,0); _m...
Show More
Hi all,
Performance Counter Registers on TC297 board works only with connected usb cable on board (i suppose,it is debug mode).
but if i connect power supplier, value is null.
what other register i should configurete for connect without USB cable?
Thank you Show Less
Performance Counter Registers on TC297 board works only with connected usb cable on board (i suppose,it is debug mode).
_mtcr(CPU_M1CNT,0);
_mtcr(CPU_M2CNT,0);
_mtcr(CPU_M3CNT,0);
_mtcr(CPU_CCNT,0);
_mtcr(CPU_CCTRL,0|(1<<1)|(2<<2)|(2<<5)|(2<<8));
unsigned int value=_mfcr(CPU_CCNT);
but if i connect power supplier, value is null.
what other register i should configurete for connect without USB cable?
Thank you Show Less
Forum Information
AURIX™
In this forum you can post your questions, comments and feedback about the 32-bit AURIX™ TriCore™ Microcontroller. The AURIX™ offers the highest scalability in performance, memory & peripherals across application. It is a safe and secure companion chip, meeting both the ISO functional safety standards and EVITA full security standards. Here you can also find the links to the latest board pages, SW and Tools GitHub, trainings, documents and FAQs
Important links
Overview
Documentations
Others
Related Forums
Trending discussions