ARM Cortex M can be used to capture images. However, all the evaluation kits have small optical format ( < 1/3’’ ) image sensors.
I could find neither FreeRTOS drivers (or bare metal API), for a large optical format ( > 1’’ ) image sensor or camera, nor for GigE Vision or UVC.
What is the best way to develop an application based on ARM Cortex M processor that require still image from large optical format sensor ?
In case it helps to answer the question, here are some large optical format sensors from Sony [Model / Protocol]: IMX367 / SLVS, IMX571 / SLVS-EC, IMX492 / MIPI CSI-2, IMX183 / sub LVDS Serial
Not sure this is a FreeRTOS question as much as a hardware interfacing question. What is the interface to the large optical sensors? Does the MCU have the hardware capability to interface, and the RAM capability to hold the image?
The key issue isn’t the size of the sensor, but the type of interface the sensor uses (and I suspect the large format sensors you are looking at are not only physically bigger, but also larger in pixels size so needing higher speed interfaces). As Richard Barry mentioned, this is much more of a hardware interface question than a FreeRTOS question, though once you choose an interface, then next step would be finding/writing a driver for it, and because these interfaces tend to be more specialized, it likely will require at least some custom coding.
Indeed, the sensor size is not THE issue (other than the fact that drivers have already been developed for few small sensors, while my application requires physically large sensor).
However, neither the interface is an issue (note that sensors with most common interfaces are listed in the original post). More generally, UVC and GigE Vision are common and well defined interfaces, both in terms of protocol and hardware. Yet, as far as I know, FreeRTOS does not accommodate those interfaces.
Per your question:
Q: What is the interface to the large optical sensors?
A: Any of the following: GigE vision (ethernet socket), UVC (USB socket), MIPI CSI-2, LVDS or SLVS.
Q: Does the MCU have the hardware capability to interface, and the RAM capability to hold the image?
A: As mentioned, my application require still image, so even in the unlikely case the RAM is insufficient to hold the image, it can be copied to other memory. imxRT1170 for example, has the hardware capabilities to interface to most of the cameras interfaces (with custom but trivial board designed adapter).