I've been struggling to set up the event recorder. I narrowed the problem down to the RAM that I am allocating to the device. As soon as I do, the ethernet connection of the controller stops working.
Here is my configuration
I get no complaints or warnings. The RAM section from 0x20000000 to 0x20008000 is not reserved, but as soon as I restart the controller ethernet does not connect and thus nothing is working anymore. Any ideas?
What do you mean by "The RAM section from 0x20000000 to 0x20008000 is not reserved"?
Well I guess it is not the right technical term. I interpreted the sections in IRAM as starting from 0x10000000 and has size 0x8000 - so it ends at 0x10008000 and the memory after is free to be used for the event recorder. In this case I chose 0x20000000 and size 0x8000 as in the guide. It should also be free. Are RAM and IRAM not the same thing? I am a complete beginner here and was just trying not to conflict with any other sections.
The only thing is that according to LPC1769 product data sheet (https://www.nxp.com/docs/en/data-sheet/LPC1769_68_67_66_65_64_63.pdf) there is no RAM mapped at the address 0x2000 0000 according the documentation that address is reserved, and very likely causing your problems.
Access to reserved address will most likely produce a Hard Fault and stop the execution of application on the microcontroller.
So which section can I use?
Well, as far as I can see all memory sections have already been occupied. When I try to free a small section, I get a bunch of build errors. Thing is that this is not my code and I have no idea how to analyze this code. I can't step through it, I can't use the event debugger.
You should play around a bit, event recorder with 64 event items requires 164 + 16 * 64 = 1188 bytes of RAM, but brings capability to get insight to program execution.
Why can't you debug the code?
I will try again tomorrow. I can’t step through the code because of the context switches of an RTOS. When I try debugging via printf, I only get random symbols and the event debugger also doesn’t work. Like this I will never understand the code. Have to get it to work.
So I was able to free 1200 bytes of memory and configure everything as described in the guide, but it still does not record any events. Is it possible that the event recorder does not work with a JTAG?
The solution to my problem was directly related to this https://community.arm.com/developer/tools-software/tools/f/keil-forum/47369/what-does-this-message-mean-osrtxinfo-not-found/166870#166870
I had to update some configuration headers from the network components. Due to this the RTOS was not running and therefore the EventRecorder was also not working.
View all questions in Keil forum