generic CAN/CAN FD susbsytem for RTEMS - status, review and mainlining
Pavel Pisa
pisa at fel.cvut.cz
Fri Jun 21 10:27:01 UTC 2024
Hello everybody,
I want to inform you about the progress of the project.
The CTU local project project links can be found in the
section CAN/CAN FD Subsystem and Drivers for RTEMS on our page
https://canbus.pages.fel.cvut.cz/#cancan-fd-subsystem-and-drivers-for-rtems
The merge request draft for review is available at RTEMS GitLab
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/49
and we collect feedback and are preparing enhancements based
on fedback, i.e. to resolve Gedare noticed problem around
RTEMS_CAN_CHIP_STOP IOCTL.
The related article
Scheduling of CAN frame transmission when multiple FIFOs with
assigned priorities are used in RTOS drivers
has been presented at the international CAN Conference and is available
in paper proceedings, publication of the electronic version is pending
and I hope that CiA makes articles available the same as the previous
iCC conference articles.
Michal Lenc has defended his master's thesis with an A grade and finished
his masters study with honors this week. The thesis is available and can
serve as an extended version of the article for now
CAN FD Support for Space Grade Real-Time RTEMS Executive; Michal Lenc; 2024
https://wiki.control.fel.cvut.cz/mediawiki/images/c/cc/Dp_2024_lenc_michal.pdf
We would be happy to hear some feedback even from Gaisler developers.
I.e., if there is at least remote chance to work in direction to unify
RTEMS generic CAN/CAN FD support with GRlib provided CAN drivers in long term.
(adding Daniel Hellström as I have noticed his recent activity on the list
but if you have somebody working more closely with CAN at Gaisler than
please redirect us to him/her).
May it be some people and projects form ESA or NASA could
profit from our work and forces can be joined there.
We would be happy to join forces to support more controllers.
We have FPGA design option and have working XCAN and OpenCores
SJA1000 on our MZ_APO Xilinx Zynq based board under Linux
ina ddition to CTU CAN FD, so we can test these on RTEMS as well.
SJA1000 support can be based on original LinCAN code.
There has been some e-mail exchange about external XCAN support
for RTEMS on the list in past and there has been unfinished/broken
but possibly reusable D-CAN support for Beagle Bone work in GSoC
frame. D-CAN can be reused for TMS570 platfrom in longer term.
SJA1000, CTU CAN FD and Xilinx UtraScale and Versal CAN
drivers can be roughly tested under QEMU as well
https://www.qemu.org/docs/master/system/devices/can.html
I see as critical to finish discussion about API
(if it is acceptable for RTEMS mainline in the actual
form and what features are identified as missing
or should be adjusted).
Best wishes,
Pavel Pisa
phone: +420 603531357
e-mail: pisa at cmp.felk.cvut.cz
Department of Control Engineering FEE CVUT
Karlovo namesti 13, 121 35, Prague 2
university: http://control.fel.cvut.cz/
personal: http://cmp.felk.cvut.cz/~pisa
social: https://social.kernel.org/ppisa
projects: https://www.openhub.net/accounts/ppisa
CAN related:http://canbus.pages.fel.cvut.cz/
RISC-V education: https://comparch.edu.cvut.cz/
Open Technologies Research Education and Exchange Services
https://gitlab.fel.cvut.cz/otrees/org/-/wikis/home
More information about the devel
mailing list