leavs's note
leavs's note in study and work.
Toggle navigation
leavs's note
Home
About Me
Archives
Tags
CS-BYO-IMX8MP-V10测试及问题记录
2025-05-12 15:58:34
3
0
0
leavs
[TOC] # 测试项 - [x] GPIO - [x] RTC - [x] 调试口【1:3V3,2:RX,3:TX,4:GND】 - [x] 刷机按键,SW3【SW3->2/ON,SW1按下=》USB下载】 - [x] RESET按键 - [] 风扇【PWM2:SAI5_RXD0和MIPI LCD EN冲突,TACHO:SAI3_RXC】 - [x] Buzzer - [x] WIFI/BT - [x] LVDS屏 - [x] MIPI屏 - [x] 触摸 - [x] LSM6DS3 - [x] TMP275 【i2c4 0x48】 - [x] ES8388 【i2c3 0x11】音频输出 # 需要增加 - [x] ES8388 - [] 风扇控制 # 先不管 - [x] 摄像头`【变焦】` # 焊接问题 ## 电池座 ``` 电池座的接地部位,多加点焊锡,保证电池负极和电池充分接触 ```   # 硬件问题 ## MIPI/LVDS屏背光控制引脚 MIPI/LVDS屏背光控制引脚同时连到两个CPU IO上了 ``` IO脚 LCD0_BL_PWM1_3V3 同时连接到SPDIF_EXT_CLK 和 GPIO1_IO01上了,请断开 SPDIF_EXT_CLK的连接 ``` ## 功放有噪声 ``` 把R21改成33K,效果比较明显,但是依然有内耳可听的见的噪声。 功放使能脚没有连接IO,最好是连接上IO来控制功放使能,目前需要把R19 这个10K上拉电阻焊接上。 ``` ## 摄像头 ``` MIPI 摄像头的供电芯片U5换成1.5V输出。U5要换成RT9193-15GB ``` ## TypeC2上供电使用了两个线路  ``` 建议统一使用VCC5V0_USB30_OTG2 ``` # 软件研发记录 ## LSM6DS3 ``` /sys/bus/i2c/drivers/st_lsm6dsx_i2c/2-006a/iio:device0 /sys/bus/i2c/drivers/st_lsm6dsx_i2c/2-006a/iio:device1 /dev/iio:device0 /dev/iio:device1 ``` ## TMP275 ``` # 当前温度值【RO】 /sys/class/hwmon/hwmon0/temp1_input # 设定报警温度【RW】 /sys/class/hwmon/hwmon0/temp1_max # 设定报警迟滞温度【RW】当温度大于报警温度时,ALERT信号会拉低,直到下降到报警迟滞温度之前会一直是低,当温度下降低于报警迟滞温度后,ALERT信号会再次拉高 /sys/class/hwmon/hwmon0/temp1_max_hyst 即温度高于`temp1_max`ALERT拉低,之后温度低于`temp1_max_hyst`,ALERT返回高,报警取消 ``` ## Speaker ``` # OK amixer cset name='PCM Volume' 192 amixer cset name='Output 2 Playback Volume' 22 amixer cset name='OUT2 Switch' on # 默认sink /etc/pulse/default.pa set-default-sink alsa_output.platform-sound-es8388.stereo-fallback set-default-source alsa_input.platform-sound-es8388.stereo-fallback # # 保存配置 alsactl store -f /var/lib/alsa/asound.state # 恢复配置 alsactl restore --no-ucm -f /var/lib/alsa/asound.state # 手动复制asound.state文件 复制过去之后执行一下 alsactl restore -f /var/lib/alsa/asound.state 系统reboot之后会存在某处的配置保存到 /var/lib/alsa/asound.state, 所以提前恢复一下,替换存在某处的配置,具体是哪里,目前还不知道。 # 错误 alsa-lib ../../../alsa-lib-1.2.6.1/src/ucm/main.c:1412:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2 如果遇到上面错误,可以使用alsactl --no-ucm restore命令,这个命令会绕过Use Case Manager(UCM) # /etc/asound.conf 把里面的hw:0,0换成hw:1,0和其它hw里标记的0换成1 aplay -Dhw:1,0 AudioTest.wav gst-play-1.0 AudioTest.wav # 设置音量 pactl set-sink-volume @DEFAULT_SINK@ 100% gst-play-1.0 AudioTest.wav gst-play-1.0 h264.mp4 # Android下连接ADB远程时,媒体声音会切换到remote_submix,闹钟和打电话的声音还依然留在speaker上,可以使用dumpsys audio来查看信息,断开ADB远程,可正常播放声音 ``` ## MIC ``` # 录音 amixer cset name='Capture Digital Volume' 192 amixer cset name='Capture Mute' off amixer cset name='Differential Mux' 1 amixer cset name='Left PGA Mux' 0 amixer cset name='Right PGA Mux' 0 amixer cset name='Left Channel Capture Volume' 6 amixer cset name='Right Channel Capture Volume' 6 amixer cset name='Mono Mux' 2 # 保存配置 alsactl store -f /var/lib/alsa/asound.state # 恢复配置 alsactl restore --no-ucm -f /var/lib/alsa/asound.state # 测试 arecord -V stereo -c 2 -f cd -d 18 -t wav mic.wav aplay mic.wav ``` ## 蓝牙开机启动 `/etc/systemd/system/unblock-bluetooth.service` ``` [Unit] Description=Unblock Bluetooth at startup After=chipsee-init.service Requires=chipsee-init.service [Service] Type=oneshot ExecStart=/bin/bash -c 'sleep 5; /usr/sbin/rfkill unblock bluetooth' [Install] WantedBy=multi-user.target ``` ## USB速度测试 ``` # 使能P10 TYPEC USB【下载口】 焊接R43这个0805的0R电阻 # 使能P11 焊接R185和R183两个0402的2.2R电阻 # 使能P14 焊接R186和R184两个0402的2.2R电阻 P11和P14不能同时使用,它们共用USB1【下载口】 # 使能P6 TYPEC USB 焊接R41和R43两个0805的0R电阻 # 使能P8 焊接R52和R55两个0402的2.2R电阻 P8使用USB2 # 可以都焊接上 R41,R43 0805 0R R52,R55 0402 2.2R R183,R184,R185,R186 0402 2.2R root@imx8mp-eisd:~# dd if=/dev/sda1 of=/dev/null bs=1M count=2000 iflag=direct,nonblock 2000+0 records in 2000+0 records out 2097152000 bytes (2.1 GB, 2.0 GiB) copied, 71.1239 s, 29.5 MB/s root@imx8mp-eisd:~# dd if=/dev/zero of=/mnt/udisk/test bs=1M count=2000 oflag=direct,nonblock 2000+0 records in 2000+0 records out 2097152000 bytes (2.1 GB, 2.0 GiB) copied, 53.2211 s, 39.4 MB/s ``` ## 触摸 ``` # 7 焊接R190,R134 0402 0R 去掉R191,R136 0402 0R # 10.1 焊接R191,R136 0402 0R 去掉R190,R134 0402 0R ``` ## Camera `主板接24PIN 下接座子` 我们使用MIPI CSI1(也就是csi0) ``` mipi_csi_0: csi@32e40000 &mipi_csi_0 { #address-cells = <1>; #size-cells = <0>; status = "okay"; port@0 { reg = <0>; mipi_csi0_ep: endpoint { remote-endpoint = <&ov5640_mipi_0_ep>; data-lanes = <2>; csis-hs-settle = <13>; csis-clk-settle = <2>; csis-wclk; }; }; }; &i2c4 { ov5640_0: ov5640_mipi@3c { compatible = "ovti,ov5640"; reg = <0x3c>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>, <&pinctrl_csi_mclk>; clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>; clock-names = "xclk"; assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>; assigned-clock-parents = <&clk IMX8MP_CLK_24M>; assigned-clock-rates = <24000000>; csi_id = <0>; powerdown-gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio5 10 GPIO_ACTIVE_LOW>; mclk = <24000000>; mclk_source = <0>; mipi_csi; status = "okay"; port { ov5640_mipi_0_ep: endpoint { remote-endpoint = <&mipi_csi0_ep>; data-lanes = <1 2>; clock-lanes = <0>; }; }; }; }; ``` 从串口日志中可以看出摄像头使用的是/dev/video3 ``` [ 2.889400] i2c 3-003c: Fixing up cyclic dependency with 32e40000.csi [ 3.165365] mxc-mipi-csi2-sam 32e40000.csi: supply mipi-phy not found, using dummy regulator [ 3.165677] : mipi_csis_imx8mp_phy_reset, No remote pad found! [ 3.165728] mxc-mipi-csi2-sam 32e40000.csi: lanes: 2, hs_settle: 13, clk_settle: 2, wclk: 1, freq: 500000000 root@imx8mp-eisd:~# dmesg | grep mx8-img-md [ 6.613633] mx8-img-md: Registered mxc_isi.0.capture as /dev/video3 [ 6.626157] mx8-img-md: Registered sensor subdevice: ov5640 3-003c (1) [ 6.644863] mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture] [ 6.651548] mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0] [ 6.681141] mx8-img-md: created link [ov5640 3-003c] => [mxc-mipi-csi2.0] ``` 快速测试摄像头 ``` gst-launch-1.0 v4l2src device=/dev/video3 ! video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! videoconvert ! autovideosink v4l2src device=/dev/video3:指定视频设备为 /dev/video3。 video/x-raw,format=YUY2,width=640,height=480,framerate=30/1:设置视频格式为 YUY2,分辨率为 640x480,帧率为 30fps。 videoconvert:将视频格式转换为适合显示的格式。 autovideosink:自动选择适合的显示插件。 ``` # 系统下载 ``` # 7 Yocto: https://chipsee-tmp.s3.amazonaws.com/mksdcardfiles/IMX8MP/Customer/byonyks/1024600/Yocto/prebuilt-imx8mp-byonyks-070-yoctoqt6-emmc-20250117.tar.gz Android12: https://chipsee-tmp.s3.amazonaws.com/mksdcardfiles/IMX8MP/Customer/byonyks/1024600/Android12/prebuilt-imx8mp-byonyks-070-android12-emmc-20250117.tar.gz # 10.1 Yocto: https://chipsee-tmp.s3.amazonaws.com/mksdcardfiles/IMX8MP/Customer/byonyks/1280800/Yocto/prebuilt-imx8mp-byonyks-101-yoctoqt6-emmc-20250114.tar.gz Android12: https://chipsee-tmp.s3.amazonaws.com/mksdcardfiles/IMX8MP/Customer/byonyks/1280800/Android12/prebuilt-imx8mp-byonyks-101-android12-emmc-20250117.tar.gz ```
Pre: No Post
Next:
[Docker]学习笔记
0
likes
3
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.