由于本人年岁渐长,动手能力欠佳,做事也较为拖沓。因此,从今日起,我将把修改过的 bug 进行记录,以便日后查阅。
2024-9-14-01
平台:3519-DV500
问题现象:内核启动报错
问题分析:
1.重新修改编译内核,添加WIfi部分,复现该问题
2.排查为:内核地址未更新同文件系统地址交叠
问题解决:
第一步:将kernel长度由之前的13M,修改为14M 第二步: 使用以下启动配置即可:
setenv bootargs 'mem=132928K console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=4 mtdparts=nand:512K(boot),512K(env),512K(bl31),14M(kernel),-(rootfs)'
setenv bootcmd 'nand read 0x40010000 0x100000 0x80000; ipcboot bl31 0x40010000; nand read 0x44000000 0x180000 0xe00000; ipcboot uimgfdt 0x44000000'
sa
re
2024-9-18-01
平台:3519-DV500
问题现象:加载完RTL8812.ko,出现wlan0接口,但无法配置和启动无线网络
问题排查:
1.使用ifconfig -a 或 ip link show 查看所有的网口名称,检查是否存在wlan的接口;(√)
2.使用lsmod,检查驱动是否加载;(√)
3.使用modinfo命令,查看驱动加载是否正常;(×,错误信息如下:)
问题解决:
1.创建对应目录;
2.使用 depmod 命令修补该异常;
3.重启设备,加载驱动发现该问题已解决;
2024-9-18-02
平台:3519-DV500
问题现象:使用iwconfig 报错
问题解决:在内核中,使用启用以下部分即可:
-> Networking support
-> Wireless
-> cfg80211 - wireless configuration API
-> cfg80211 wireless extensions compatibility
2024-9-18-03
平台:3519-DV500
问题现象:ifconfig wlan0 up导致文件系统崩溃
问题分析:跟新内核后,未更新8812驱动中的库
问题解决:重新编译8812驱动。
2024-9-29-01
平台:3516-DV300
问题现象:error: specialization of 'template<class _Tp> struct std::hash' in different namespace [-fpermissive]
问题解决:
// 修改之前
template<>
struct std::hash<rxAntennaKey>
{
std::size_t operator()(const rxAntennaKey& k) const noexcept
{
std::size_t h = 0;
hash_combine(h, k.freq);
hash_combine(h, k.antenna_id);
hash_combine(h, k.mcs_index);
hash_combine(h, k.bandwidth);
return h;
}
};
// 修改之后
namespace std {
template<>
struct hash<rxAntennaKey>
{
size_t operator()(const rxAntennaKey& k) const noexcept
{
size_t h = 0;
hash_combine(h, k.freq);
hash_combine(h, k.antenna_id);
hash_combine(h, k.mcs_index);
hash_combine(h, k.bandwidth);
return h;
}
};
}
2024-10-18-01
平台:SS928
问题现象:VPSS图像帧120帧/秒正常,VENC却没有图像,现象如下
问题分析:图传未建链时,从VENC中取图太慢,导致编码缓存满了。
问题解决:图传建链后自动解决。
2024-12-14-01
平台:3516cv610
问题现象:MJPEG无法控制码率,码率过大
码率控制是针对连续的编码码流而言,所以,JPEG协议编码通道不包括码率控制功能。
2024-12-31-01
海思HI35xx如何调整内存分配 ??
01.修改Linux内存大小:(其中的96M就是Linux的运行内存)
setenv bootargs 'mem=96M console=ttyAMA0,115200 clk_ignore_unused root=ubi0:ubifs rootfstype=ubifs rw ubi.mtd=3 mtdparts=nand:512K(boot),512K(env),4M(kernel),-(rootfs)'
02.修改MMZ内存大小:(mmz_start的值很关键)
mmz_start=0x46000000; # mmz start addr, default:0x46000000 (0x40000000+0x6000000(OS))
mmz_size=32M; # mmz size, default:32M (128M-96M)
mmz_start计算公式:
96M=96*1024*1024=0x6000000
2025-01-06-01
opencv 怎样才能生成没有版本号的.so文件?例如只生成libopencv_world.so不要libopencv_world.so.4.5.5
找到【cmake】-【OpenCVModule.cmake】将以下内容注释掉:
# For dynamic link numbering conventions
#if(NOT ANDROID)
# Android SDK build scripts can include only .so files into final .apk
# As result we should not set version properties for Android
#set_target_properties(${the_module} PROPERTIES
#VERSION ${OPENCV_LIBVERSION}
#SOVERSION ${OPENCV_SOVERSION}
#)
#endif()
2025-01-06-02
在海思上叠加OSD时,有个参数老是不明白,那就是背景色和前景色,这个值到底是干嘛的?今天终于搞明白了
在 OSD 显示中:
背景值(Background):
- 指文字/图形周围的区域
- 通常用于控制文字/图形周围区域的透明度
- 背景值为0时完全透明,可以看到底层图像
- 背景值为255时完全不透明,会完全遮挡底层图像
前景值(Foreground):
- 指文字/图形本身的颜色和透明度
- 控制文字/图形本身的显示效果
- 前景值为0时文字/图形透明,看不到内容
- 前景值为255时文字/图形完全不透明,清晰显示
例如:
- 背景值=0,前景值=255:文字清晰可见,周围完全透明
- 背景值=255,前景值=255:文字和背景都不透明
- 背景值=0,前景值=0:整个区域都透明,什么都看不见