@kanken6174 在 V851S tina linux ov5647 驱动程序没有 dmesg 中说:
我正在从头开始重写它。
你好
当我在 linux 中开发传感器驱动程序时,我使用特殊代码将 ioctl 添加到 V4l2 驱动程序、VIN 驱动程序和传感器驱动程序中。
此 ioctl 用于直接从用户空间写入和读取传感器寄存器。 这种方法大大加快了开发速度, 因为从用户程序测试传感器寄存器编程的各种选项比从驱动程序测试要容易得多。
@kanken6174 在 V851S tina linux ov5647 驱动程序没有 dmesg 中说:
我正在从头开始重写它。
你好
当我在 linux 中开发传感器驱动程序时,我使用特殊代码将 ioctl 添加到 V4l2 驱动程序、VIN 驱动程序和传感器驱动程序中。
此 ioctl 用于直接从用户空间写入和读取传感器寄存器。 这种方法大大加快了开发速度, 因为从用户程序测试传感器寄存器编程的各种选项比从驱动程序测试要容易得多。
@kanken6174 在 V851S I2C/TWI 损坏(xfer 错误) 中说:
。
您的波形图上不清楚信号的接地电平在哪里。 无论如何,最后一颗黄色“牙齿”的“低”电平高于其余的电平 冲动。 也就是说,控制器输出“下拉”的强度不够。
全志GPIO有一个设置最大输出电流的寄存器:Px_DRVn。 我不知道当选择TWI功能时这个设置是否有效。 尝试在用户空间中通过 mmap 将寄存器地址简单地映射到内存进行试验。
关于上拉电阻。 我在 Omnivision 传感器的文档中没有找到它,但对于 AR0330 传感器,建议值为 1.5 Kom。
我的 A20 和 V3S MCU 上具有此上拉电阻的所有设备都可以与使用的所有传感器配合使用,在 TWI 上没有出现故障。 3.3V 和 1.8V。
你好。
我的设备从 SD 卡启动
1.为了简化驱动程序-linux内核模块的开发,我在SDK的menuconfig中进行了设置:
[] Include kernel in root filesystem
[] Include DTB in root filesystem
组装好系统并将其安装到SD卡上后,我看到了linux内核文件,但找不到.dtb文件。
还需要配置什么才能使 dtb 文件位于文件系统上?
我的项目使用 GLIBC,而不是 MUSL。 但GLIBC版本太旧:2.23。
如何构建 root 以便有更新版本的 GLIBC? 在子目录//dl 中有一个版本为 GLIBC 2.29 的存档。
@alb702 在 V853 SDK:Linux内核下载。 中说:
uboot
从 SD 卡启动的“快速而肮脏”的方式。 也许这对某人有用。
V853 SDK不完全支持从SD卡启动。 我没有足够的信息来修复 SDK 的所有缺点,因此我使用了下面描述的方法。
我的设备使用 sdc0 控制器 (PF00...PF05) 和相应的 mmc0 接口进行启动。 下面的描述中将用到该接口。
Linux内核将通过脚本加载到uboot中。 我们准备一个文本格式的脚本,内容如下:
setenv bootargs console=ttyS0,115200 debug panic=5 rootwait root=/dev/mmcblk0p4 earlyprintk rw loglevel=7
fatload mmc 0:3 0x42000000 uImage
fatload mmc 0:3 0x43000000 board.dtb
bootm 0x42000000 - 0x43000000
并将其以 boot.cmd 的名称保存在临时目录中。
2、对于SDK中对应的【chip】和【board】:
在文件 //device/config/chips/[chip]/configs/[board]/sys_config.fex 中
需要更换:
;storage_type = 2
storage_type = 1
3.在SDK menuconfig(make menuconfig)中安装:
在linux内核配置(make kernel_menuconfig)中设置:
4.进入目录//lichee/brandy-2.0/u-boot-2018。 你需要做:
make menuconfig
对于 Boot Images 我们设置:
对于 Boot Media 我们安装:
如果你以这种形式组装系统并使用phoenixcard将其写入SD卡,那么u-boot很可能会启动。 但将无法访问mmc接口。 要使其出现,您需要运行命令:
mmcinfo
出现对界面的访问,但无法访问 mmc 部分。 你需要做:
part list mmc 0
现在您可以上传文件了 (fatload...)。
6.如果使用mmc0,那么在文件中
//lichee/brandy-2.0/u-boot-2018/drivers/mmc/mmc.c
在 mmc_exit(void) 函数中,您需要更改:
...
//int sdc_no = 2;
int sdc_no = 0;
...
您可以组装系统(make)
SDK 本身应该在构建时复制此文件,但由于某种原因它没有复制。
@smbzd 在 f1c100s USB问题请教 中说:
musb-sunxi
你有DMA。 一切安好。 这可能不是这里的问题。
Linux 文档说您可以在 SCSI 协议中启用数据完整性检查。
https://docs.kernel.org/block/data-integrity.html : Block Layer Integrity API
您可以尝试这个方法来澄清问题。
@gaowei15537316965 在 f1c100s可以改成rgb565,是不是只需要修改设备树就可以了? 中说:
rgb888
由于我通过 VGA DAC 将设备连接到 VGA 显示器,因此我使用 dumb_vga_dac 驱动程序。
该驱动程序允许您选择多种模式。 这就是为什么我“即时”切换模式。
您正在使用驱动程序 "panel-simple"。 该驱动程序仅允许一种模式。
对于 16 位,最有可能需要指定格式:
.bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG,
但不是
.bus_format = MEDIA_BUS_FMT_RGB565_1X16,
无论如何,在 sun4i_tcon.c 驱动程序中,sun4i_get_pixel_depth 函数提到了格式
MEDIA_BUS_FMT_RGB666_1X7X3_SPWG
需要尝试一下。
是否有一些设置(在 sys_partition.fex 中?)来阻止 boot0 检查分区校验和?
我需要禁用 uboot 校验和验证。
@smbzd 在 f1c100s USB问题请教 中说:
linux5.7
关于DTS,唯一的问题是 :
// compatible = "allwinner,suniv-musb";
compatible = "allwinner,sun4i-a10-musb";
您使用什么驱动程序?
MUSB 设置是什么:DMA 还是 PIO?
@gaowei15537316965 在 f1c100s可以改成rgb565,是不是只需要修改设备树就可以了? 中说:
?
你用的是什么Linux? 我使用内核 5.4.66 构建了 buildroot 2022.02.4。 DRM(Direct render manager)图形支持。
我没有对驱动程序进行任何更改。 Linux 中有一组用于 DRM 子系统的实用程序,特别是 modetest。
团队
./modetest -M sun4i-drm -s 49:800x600@RG16
运行没有错误。 “RG16”是16位模式。 还是我误解了你的情况?
@gadyellow 在 RTL8188FU驱动加载后ifconfig -a不显是wlan问题 中说:
FirmwareDownload fail
您在下载时遇到错误 firmware。 确保您正在下载的文件是 firmware 从您的适配器。