Kerry Zhou wrote:
> But at last, I have been told that the RT1060 can't support the enhanced RX FIFO function,
> It's totally the RT1060,RT1064 reference manual bug.
That's not the only document that doesn't match the CAN FD hardware that is in the chip.
This "Enhanced Features in i.MX RT1060 Application Note" dated September 2018 lists the "Full-featured enhanced Rx FIFO" as being there (or intending to be there):
https://www.nxp.com/docs/en/application-note/AN12240.pdf
All of these "Enhanced" registers are also defined in the SDK in "/devices/MIMXRT1062/MIMRX1062h".
That's not all that is missing in that module.
The "Enhanced CAN Bit Timing Prescalers", "Enhanced Nominal CAN Bit Timing", "Enhanced Data Phase CAN bit Timing" and "Enhanced Transceiver Delay Compensation" registers and functionality aren't there. These are all enabled by "CAN_CTRL2[BTE]". This is bit 0x2000 in register 0x401D8034. This bit should not work as the registers it controls don't exist. This works correctly - that bit doesn't seem to be implemented. I can't set it.
(gdb) reset
Resetting target
(gdb) x 0x401D8000
0x401d8000: 0x5980000f
(gdb) set *0x401D8000 = 0x5980080f
(gdb) x 0x401D8000
0x401d8000: 0x5980080f
(gdb) x 0x401D8034
0x401d8034: 0x00800000
(gdb) set *0x401D8034=0x00802000
(gdb) x 0x401D8034
0x401d8034: 0x00800000
But there's something else missing from the CAN_CTRL2 register. According to the Reference Manual, the bits 0xCFFFFBC0 should be read-write. Or 0xCFFFDBC0 when "BTE" is removed. But I'm only getting:
(gdb) set *0x401D8034=0xffffffff
(gdb) x 0x401D8034
0x401d8034: 0xcfffd800
The MBTSBASE and TSTAMPCAP fields are missing as well. They're the "Message Buffer Time Stamp Base" and "Time Stamp Capture Point". Those wishing to program this part might like to compare the i.MXRT1060 manual with this one, which seems to be a better match to the model/version of the FlexCAN part:
https://www.nxp.com/docs/en/reference-manual/MPC5746CRM.pdf
> I have been told that in the new chip RT1170, RT1070
Have those chips been announced? We've managed to find one mention in a "Roadmap" document only. Google now finds this post mentioning that part too.
Tom