Hi, I looked into this thread yesterday. But Earl was faster providing the correct answer.
Yes, the CAN module itself can provide "up-to" 1kB of RAM, which can be used for Message Buffers.
- But the real size of the RAM implemented can vary (for different devices). The max size should be specified in the Reference Manual.
- In most of the cases the RAM above size specified in RM is unexisting (unimplemented) - to save the space on the silicon.
But earlier, I met the cases, where complete 1kB RAM block has been implemented (so the RAM unused by CAN MB, can be used by user to for instance).
It can be tested very easily:
- for instance by writing a pattern (0xAA, 0x55) to the RAM location inside the CAN module MB memory range. If the area is writable, the RAM is implemented.
- Writing to this location from the SW code will result to the "bus-fault exception", when the RAM cell is not implemented on the specific location.