大概两年前的时候用的是3531DV200 通过将 高分辨率的视频 转成低分辨率 低码流的视频 然后推到RTMP服务器
4路rtsp输入 每路输入可以编码成4路不同 的视频 流
所以最大是4*4路 16路rtmp流
最近 这个平台都需要换成SS528V100
硬件换了 软件自然也需要换
还好程序里面 主要就是 把原来海思的api都换成新的
没花多少工夫
费事的主要是 编译uboot 内核 文件系统等等
网口烧录程序 一直没调试好 只能串口烧
一个100M的程序 大概要烧三个多小时 中间还不能断 一断就得重头来
总结下遇到的主要问题
1.uboot 部分出现过如下问题 CONFIG_SYS_BOOTM_LEN
之前没内核直接编译的 没出现过这个问题
后来内核添加了个新特性 稍大了一些 就出现这个问题
按照厂家指导 将这个值 改的大一些
文件位置
open_source\u-boot\u-boot-2020.01\include\configs
这个头文件中没有定义这个宏
没有定义的话
就是默认的open_source\u-boot\u-boot-2020.01\commonbootm.c文件中的值
可以看到 未定义的话这个值为8M
直接在头文件中增加这个宏
增加之后 由于之前已经编译过了 需要 重新编译 clean的只会删某几个文件
直接linux 命令 删除所有.o文件
find . -name "*.o" | xargs rm -f
然后重新编译 uboot就可以了
kernel模块 遇到的主要问题是 第一增加厂家的网卡驱动 这个很简单按照厂家指导就可以
麻烦的是 开启了CONFIG_TUN=y之后 tun.c文件编译报错
具体报错的地方 我在别的ss528相关文章中指出了 这里就不重复了
主要是没有想到 居然是官方打patch包打出来的问题
直接用 未打patch里的原来的文件直接替换掉就可以
还有个 就是 改完 编译内核的时候
这个个a和b都是要执行的 我以为是或者关系
然后烧完kernel就出现了
问了下厂家 是下面b的命令也要执行 执行之后就正常了
需要调整内核变大了 需要调整分区表
如上图 原来的内核是10M 现在改成11M 对应的下面的 fs大小也要调整
一共是256Mflash
fs主要就是应用相关的 程序移植 之类的
但是fs大 串口烧写 通常都要三个多小时
烧完uboot之后 需要设置启动参数 分区表变了之后这里也需要做相应调整 如下图