0

我想为 Coral 开发板构建 Mendel Linux,以使用我对相机驱动程序 (ov5645_mipi_v2.c) 所做的一些更改。
问题是:
重新刷新板后,我的代码更改根本没有进入新刷的板。

我做了什么:
我尝试对相机驱动程序(ov5645_mipi_v2.c)进行一些更改,以引入一种具有更高帧速率的新相机模式(基于我在其他地方找到的一堆寄存器设置,例如raspiraw)。我按照此处https://coral.googlesource.com/docs/+/refs/heads/master/GettingStarted.md中所述的 Mendel Linux 发行版的构建说明进行操作,并将我的代码更改复制到签出的源中。我继续构建说明并使用m docker-dist构建选项。该构建确实编译了我更改的文件,因为我首先犯了一个语法错误,导致构建启动。成功构建后,我得到了闪存卡图像(flashcard_arm64.img)并闪存板。董事会重新刷新并开始空白并使用新名称。虽然,发出命令v4l2-ctl --list-formats-ext并没有给我放入代码中的结果(我更改了ov5645_mode_info该文件中的文件,该文件应该是报告的可用帧大小的基础)。

我已经尝试了以下方法:

  • 运行m clean并完全修剪所有 docker 映像并再次构建
  • 首先使用 'all' 选项构建,然后使用 'flashcard' 选项构建抽认卡

我想我只是错过了使用我的代码更改进行构建的基本步骤,例如增加一些版本号?或建立一个 Git 分支?或类似...

4

1 回答 1

0

自己找到了解决方案:

我使用m docker-linux-imx其他地方已经提到的构建选项来构建一个新内核。对我来说,这个选项在 docker 镜像中引发了一些依赖错误,但我能够通过将依赖项添加到“build”目录中的“Dockerfile”来修复它们。
我在“Dockerfile”中使用了以下行:
apt-get install -y sudo make kmod libssl-dev bc git && \
而不是
apt-get install -y sudo make && \.
内核构建完成,我将生成的“.deb”文件复制到珊瑚板。
scp linux-image-4.14.98-imx_12-4_arm64.deb mendel@BYBOARDSNAME:.
并安装在板上
sudo dpkg -i linux-image-4.14.98-imx_12-4_arm64.deb
我对驱动程序所做的更改现在在调用时正确表示
sudo v4l2-ctl --list-formats-ext

希望它会节省别人一些时间......

于 2021-11-24T13:43:24.707 回答