海思 3531DV200 程序 平移到SS528V100 记录

大概两年前的时候用的是3531DV200    通过将 高分辨率的视频 转成低分辨率 低码流的视频 然后推到RTMP服务器  

4路rtsp输入 每路输入可以编码成4路不同 的视频  流  

所以最大是4*4路 16路rtmp流 

最近 这个平台都需要换成SS528V100

硬件换了 软件自然也需要换 

还好程序里面 主要就是 把原来海思的api都换成新的  

没花多少工夫 

费事的主要是  编译uboot 内核 文件系统等等 

网口烧录程序 一直没调试好 只能串口烧  

一个100M的程序 大概要烧三个多小时  中间还不能断  一断就得重头来

海思 3531DV200 程序 平移到SS528V100 记录_第1张图片

总结下遇到的主要问题 

1.uboot 部分出现过如下问题  CONFIG_SYS_BOOTM_LEN

海思 3531DV200 程序 平移到SS528V100 记录_第2张图片

之前没内核直接编译的 没出现过这个问题

后来内核添加了个新特性 稍大了一些  就出现这个问题 

按照厂家指导  将这个值 改的大一些     

文件位置

open_source\u-boot\u-boot-2020.01\include\configs

海思 3531DV200 程序 平移到SS528V100 记录_第3张图片

这个头文件中没有定义这个宏 

没有定义的话 

就是默认的open_source\u-boot\u-boot-2020.01\commonbootm.c文件中的值

可以看到 未定义的话这个值为8M

海思 3531DV200 程序 平移到SS528V100 记录_第4张图片

直接在头文件中增加这个宏  

海思 3531DV200 程序 平移到SS528V100 记录_第5张图片

增加之后 由于之前已经编译过了  需要 重新编译  clean的只会删某几个文件 

直接linux 命令 删除所有.o文件

find . -name "*.o"  | xargs rm -f

然后重新编译 uboot就可以了

kernel模块 遇到的主要问题是 第一增加厂家的网卡驱动  这个很简单按照厂家指导就可以

麻烦的是 开启了CONFIG_TUN=y之后 tun.c文件编译报错 

具体报错的地方 我在别的ss528相关文章中指出了 这里就不重复了 

主要是没有想到 居然是官方打patch包打出来的问题  

直接用 未打patch里的原来的文件直接替换掉就可以

还有个 就是 改完 编译内核的时候   

海思 3531DV200 程序 平移到SS528V100 记录_第6张图片

这个个a和b都是要执行的 我以为是或者关系 

然后烧完kernel就出现了 

海思 3531DV200 程序 平移到SS528V100 记录_第7张图片

问了下厂家 是下面b的命令也要执行 执行之后就正常了 

需要调整内核变大了 需要调整分区表  

 海思 3531DV200 程序 平移到SS528V100 记录_第8张图片

如上图 原来的内核是10M  现在改成11M 对应的下面的 fs大小也要调整 

一共是256Mflash

fs主要就是应用相关的 程序移植  之类的   

但是fs大  串口烧写 通常都要三个多小时 

烧完uboot之后 需要设置启动参数  分区表变了之后这里也需要做相应调整 如下图 

海思 3531DV200 程序 平移到SS528V100 记录_第9张图片

你可能感兴趣的:(海思,视频转码,推流)