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.
Tool/software:
Hi,
The bootloader example but it gives some errors to build. But I'd like to be sure about smth. I guess I wasn't celar that The prolem not about application interrupt. I say this because you sended me (+) RM57L843: UART_Bootlader_RM57 Questions - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums this to check. My problem is in bootlodefr even before loading the app. Whenever I enable CAN interrupt and send a can message to bootloader it frooze.By the way I tested creating project step by step. It frooze after I include the link file. I don't undertand why. I would be really greatful if you could help me about it.
I also would like to say that when I checked your bootloader example I saw that you didn't enable the interrupt on CANMessageSetRx() function via usMsgCtrl = CAN_IFMCTL_UMASK | CAN_IFMCTL_EOB | CAN_IFMCTL_RXIE; So that might be the reason of your not having problem for intterrupt. And main funct,on you didn't enable the intterupt. I hope you could help me about it.
Thanks & Regards,
Zeynep
Hi Zeynep,
I want clarification for below questions to assist you further:
1. Exactly which bootloader you are using CAN or UART? I think UART right?
2. And why you are enabling CAN interrupts in the UART bootloader? If you want CAN communication, then you should need to enable the CAN communication in the application code not in bootloader, right?
3. I am confusing between UART and CAN bootloaders, please clarify you are requirement and problem clearly.
--
Thanks & regards,
Jagadish.
1. I use CAN bootloader
2. I need to use CAN interrupt on bootloader.
3. On CAN bootlader can interrupt isn't enabled I want to use HighLevelCan interrupt for Wake Up ID selection. When there is another device in the CAN bus they should be able to choose ID from diffirent from others. So in the begging if a device send ID as 0x501 the other should take 0x502. I thought that I could do it via interrupt before the second one send own ID it is interrupted by first one's can meesage so it could increase the id by1. By default all ID's are 0x501.
Thanks & Regards,
Zeynep
Hi Zeynep,
I understand your requirement now.
I think you can do that, i don't know why it is froze at your end.
The bootloader also kind of application only, we can enable the interrupts.
Now i want to know how you are creating the application, are you trying to create it from scratch or you modifying the booloader code that i shared to you?
And i also want to suggest you refer the CAN interrupt example in HALCoGen, make sure you are doing the same steps.
And i also want to know where exactly it was froze? Did you test in debug mode? Is it going to CAN interrupt handler?
--
Thanks & Regards,
Jagadish.
I AM using CAN Bus Bootloader for Hercules Microcontrollers (https://www.ti.com/lit/an/spna241/spna241.pdf?ts=1718094382977&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTMS570LS1224). I chanegd it little bit for my needs. I know CAN interrupt. I used it other proect. After ı faced with an error I started to create bootloader step by step. I firs able to run CAN interrupt. But then I realised that when I include the LİNK.cmd file then the error started. İt runs but when I send a can message to device then it frooze.
I am testing it at my end and i will update you ASAP.
Mean time can you please also refer my last comment in the below thread:
Here i explained how CAN bootloader will work in detailed. That might be helpful to send data in the right format to the CAN bootloader.