Recently I was doing a Post graduate diploma course on Embedded Systems. During the last month we had to come up with a project to execute during the month. I decided to add support for the CAN peripheral in the FreeRTOS + IO Project. After studying the source code and understanding the architecture of FreeRTOS + IO, I made changes to the code so that the CAN peripheral could now be accessed via POSIX-like open(), read(), write() and ioctl() calls. I managed some basic communication between two microcontrollers using the driver I wrote but I was short of time so the driver code was very badly done. This was around 6 months ago, and I have some free time on my hands now so I was thinking I should look into this project again as studying the internals of FreeRTOS helped me learn a lot earlier.
I am a relative newbie in the embedded world (only a year and a half of experience) and hence I had a few doubts about the transfer modes used with FreeRTOS + IO. I was not able to decide on any mode to use with CAN.
Also, CAN is a much bigger protocol than SPI or I2C, so I wanted suggestions as to what features could be included in the driver and which can be done away with.
I am not looking for any specific answers, just want to know your opinions on having a CAN driver which works through the FreeRTOS + IO Layer. Im sorry if this is not the correct place to post this, but if it isnt could you direct me to some place where this question is better suited?
Nishad, are you still around? Were you part of the team developing the CAN driver at https://github.com/barathbushan/CanDriverOnFreeRTOS?
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.