第一部分 概述
硬件部分:调试所用的开发板是从外面买的海思3516A的成品。卖家提供的开发板是在海思提供的DEMO板的基础上改的,据说是改动了网卡phy芯片、DDR和flash,使用的是16MMX25L128XX spi flash,DDR据说是一片512M的,phy应该是100M芯片,型号暂时未知。
SDK部分:卖家首次提供的是Hi3516AV100R001C01SPC020版本的SDK,与我司购买的SDK属于同一版本,该版本是Hi3516A芯片的第二个SDK发布版本,发布日期大概是2014年12月。卖家第二次提供的是Hi3516AV100R001C01SPC030 版本的SDK。
软件部分:可以说基本无任何卖家提供的demo程序。
在此基础上开始进行相关的功能调试。
第二部分 文件系统
调试文件系统时,使用NFS文件系统挂载的方式是最利于调试的,做NFS文件系统时,首先使用海思SDK中提供的busybox进行文件系统编译,该过程在SPC020版本的SDK下执行,制作过程中,并未找到文档《Hi3516A/Hi3516D Linux开发环境用户指南.pdf》中说提及的busybox_cfg_hi3516a_XXX 的配置文件,因此尝试使用busybox中现有的几个配置文件进行制作测试,发现没有一个文件系统能正常加载起来。
尝试使用SDK中提供的文件系统进行挂载,在目录HI3516A_SDK_V1020\package 中有一个文件系统的压缩包:rootfs_uclibc.tgz,对其进行解压,然后使用NFS文件系统进行挂载,这次很顺利,文件系统正常挂载起来了,并成功进入系统。
到此,就有了便于调试程序的NFS文件系统。
后续,我在拿到 V100R001C01SPC030版本的SDK之后,同样,将package目录中的文件系统加压出来进行挂载,发现NFS居然挂载不起来,依然是提示“Kernel panic - not syncing: No init found. Try passing init= option to kernel”。所以,这就遗留了一个全新制作或者定制文件系统的问题。