Skip to content

GIGA Camera support? Plus related questions #22

Closed
@KurtE

Description

@KurtE

Do you have any cameras working connected up to the GIGA through the camera port?
If so do you have an example sketch that gives some hints on how you are currently doing it?

It looks like there is some support for the OV7670, that was added to the overlay file.
Things like:

&i2c4 {
	status = "okay";
	ov7670: ov7670@21 {
		compatible = "ovti,ov7670";
		reg = <0x21>;
		reset-gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
		pwdn-gpios = <&gpioa 1 GPIO_ACTIVE_LOW>;

		port {
			ov7670_ep_out: endpoint {
				remote-endpoint = <&dcmi_ep_in>;
			};
		};
	};
};

Plus dcmi entry...

Do you need to uncomment the line in the .conf file? #CONFIG_VIDEO=y
Currently when I try that the build fails, with using too much memory.

Related questions:
Suppose I wish to try using OV2640 or 5640, would I need to define them in similar ways?

If one wants to change their sketch to choose which
camera they are using now, would then need to rebuild the bootloader/flash the bootloader and then update the program?

Do you expect that libraries/sketches, should be able to access the DCMI without going through overlays? Or maybe with
some usage of some overlay object like DCMI?

I tried hacking up a sketch starting with the GIGA mbed version with camera library and the oV767x library, and got it to compile
but fails to load:
camera_to_ILI9341-241224a.zip

[00:00:15.388,000] <err> llext: Undefined symbol with no entry in symbol table H                                     AL_RCC_GetPCLK2Freq, offset 128, link section 10
[00:00:15.400,000] <err> llext: Failed to link, ret -61

Guessing a lot more issues, but that is as far as I got with my playing.

Memory usage: Is it assumed that everything in the dts and overlay file(s) marked active, will have their code and memory usages, built into the sketch, either directly or in the bootloader? Or can the sketch somehow decide to exclude object? For example we have:
serials = <&cdc_acm_uart0>, <&usart1>, <&usart2>, <&uart4>, <&usart6>;
Each of these I believe has > 1K of memory allocated to them. Suppose I am not using the UARTS? Side question, suppose I am only using the USB Serial and Serial4 (usart6), If I exclude the other usarts (1, 2, 4), Will this allow the code to still talk to Serial4?

...

Activity

KurtE

KurtE commented on Jun 13, 2025

@KurtE
Author

For now closing this one out as, some of it is covered under #78

There are still a lot of parts of this I still have no clue what Arduino's plans are for usages of Zephyr and how one can
control what things are used and not used ... But that is probably something for a discussion or the like.

Like: Suppose that the current setup for the GIGA is with an GC2145 camera. What if I don't want a camera? Is this
still going to use up a lot of the resources, like memory? What if I wish to use an HM0360 instead? What if I need
to change the frequency we talk to the camera at. How does this differ with or without the GIGA Display Shield...

But again probably better as discussions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @KurtE

        Issue actions

          GIGA Camera support? Plus related questions · Issue #22 · arduino/ArduinoCore-zephyr