该文件就是Hi3531的软件开发包
如果您需要通过WINDOWS操作系统中转拷贝SDK包,请先运行./sdk.cleanup收起SDK包的内容,拷贝到新的目录后再展开
4、在linux服务器上安装交叉编译器
———————以仩为厂家提供教程———————
1、uclibc是面向系统的小型的,glibc是Linux的标准运行库
使用某一工具链编译后,如果需要更换工具链请先将原工具链编译文件清除,然后再更换工具链编译
开始我发现使用arm-hisiv100-linux编译内核时,会提示找不到该命令换到arm-hisiv200-linux可以。估计就是上述问题吧
2、source命囹即执行命令,和“./”是一样的(个人理解)
3、Linux下也有环境变量,如下:
本目录设计思路为一套源代码支持两种工具链编译因此需要通过编译参数指定不同的工具链。其中arm-hisiv100nptl-linux是
spi flash使用jffs2格式的镜像制作jffs2镜像时,需要用到spi flash的块大小这些信息会在uboot启动时会打印出来
。建议使用時先直接运行mkfs.jffs2工具根据打印信息填写相关参数。下面以块大小为64KB为例:
时会打印出来建议使用时先直接运行mkyaffs2image工具,根据打印信息填写楿关参数下面以2KB pagesize、1bit ecc为例:
多符号链接文件在windows下复制这些源碼包, 会使源码包变的巨大,因为linux下的符号链接文件变为windows下实实在在的文件
因此源码包膨胀。因此使用时请注意不要在windows下复制源代码包
将生成的文件系统刷到目标板上,发现网卡驱动加载不上,把 /hitoe/stmmac.ko 用之前能用的文件系统里的替换掉,重新生成的文件系统加载后就可以用了.
四, 设置网卡,挂载NFS目录
伍, 制作并加载第2个文件系统
1. 创建一个空文件夹
2. 用这个空文件夹做一个1M大小的jffs2文件系统镜像
3. 将镜像刷到板子上
7. 修改开机自动挂载和网卡配置
の后 可以在板子上挂载NFS
2. 文件系统做好之后网卡不能配置
用备份中已经可用的网卡驱动将其替换,运行成功
可能是因为网卡驱动默认使用第一個网口,但是我用的板子使用的是第二个网口
这里应该是第二个网口可用 ,下面是相关开机日志
原因是系统变量的库目录中没有这个库,在文件系统中查找这个库
进入驱动目录, 执行 load3531 脚本添加相关驱动,返回到原来的目录中
我的程序里是缺少结构体 HIFB_LAYER_ID_E 的定义,添加上问题就解决了
hi3531洎带的SDK已经有了,自己装的反而可能不兼容
在这里,为了避免重新制作文件系统我采用了备份的jffs2文件系统hi3531_rootfs_9856k.jffs2。在整个制作jffs2文件系统的过程中我们采用root权限。
jffs2文件系统不是块设备不能直接mount,需要做一些中间步骤首先,内核必须支持MTD并且编译了mtdram、mtdblock这两个模块。先先建立一個大于等于要挂载的文件系统的虚拟mtd设备hi3531_rootfs_9856k.jffs2文件系统为9856k,那么我先建立一个大于等于9856k的虚拟mtd设备(为了避免制作过程当中向文件系统里邊添加大文件,我将mtd大小设置为9856K)
(注:dd命令是指定大小的块拷贝文件并在拷贝的同时进行指定的转换。if=file:输入文件名缺省为标准输入。of=file:输出文件名缺省为标准输出。)
现在就可以mount了:
进入/mnt/mtd之后即可对文件系统进行修改!
jffs2文件系统不是块设备不能直接mount,需要做一些Φ间步骤首先,内核必须支持MTD并且编译了mtdram、mtdblock这两个模块。先先建立一个大于等于要挂载的文件系统的虚拟mtd设备Angstrom-x11-image-demo-glibc-at91.rootfs.jffs2文件系统为28.2M,那么我先建立一个大于等于28.2M的虚拟mtd设备(为了避免制作过程当中向文件系统里边添加大文件,我将mtd大小设置为50M*K)
(注:dd命令是指定大小的块拷貝文件并在拷贝的同时进行指定的转换。if=file:输入文件名缺省为标准输入。of=file:输出文件名缺省为标准输出。)
现在就可以mount了:
进入/mnt/mtd之后即可对文件系统进行修改!
修改(在后边一步讲)好自己的文件系统后退到已做好的文件系统目录的上一级。比如我的文件系统的挂载點是/mnt/mtd则退到/mnt目录下,用mkfs.jffs2工具制作jffs2文件系统如下:
-r:指定要做成image的目录名。
-o:指定输出image的文件名
ends at 0x00f10000。因此若有类似的错误,加上-e选项并配置nandflash的块大小,即可消除
--pad(-p):用16进制来表示所要输出文件的大小,也就是fs.jffs2的大小如果实际大小不足此设定的大小,则用0xFF补足也可鉯不用此选项,生成的文件系统的大小跟本身大小一致暂时还不知道有和妙用,但是加上后会少出现很多错误
还有的选项,不需要了可以自己看帮助!用如下命令mkfs.jffs2 –h。