HI3516DV300_22_根文件系统解析3


后面的,执行的文件,其实是在:/usr/script/hi3516dv300.sh

这个就是烧录的最后一个分区,比较大,但实际上,里面的内容很少,里面就一个配置文件,将来里面呢,或许还会放别的

这里,其实是挂载到了/userdata目录的,也就是把第四部分给挂载到/userdata目录了的

然后,后面,主要是使用到了这个配置文件

这里,打开了LED

并且,这里使用到了himm这个工具,是海思平台自己提供的一个应用程序

himm:其中的mm就是memory management的意思,这个是操作内存的,其实就是操作一个地址,这个工具的作用,其实就是往这个地址里面,写这个数值,这就是让我们在应用层,可以去操作某一个物理地址里面的寄存器,这个地址,肯定对应的是一个寄存器,或者是对应了一个内存地址。

himm:在海思官方提供的一个工具

这个是往GPIO里面去写内容,也就是往GPIO里面去写GPIO号

写这个属性

去写那个值

这两个也一样,就是去写那些GPIO的数值的

这几个也就是板子上面的LED灯

这个是用来设置继电器的

用来设置静态IP用的,其中BOARD_IP等等是放在上一个文件里面的

ETH0_CFG:肯定也是在上一个文件里面定义的了

这个,指的就是上一个文件,把这个文件,在我们当前目录展开了,那些配置值,就在这里面了,现在来看一下这个配置文件

那些网络配置项都在这里的

所以,现在走的就是static这条分支

如果设置为dhcp,那就什么事情都没做

否则的话,就是直接进行配置

把配置项,单独出来,生成一个配置文件的做法

这种做法,就是通过更改配置文件,来达到动态地影响我们开发板的启动的这样一些过程,这样不需要修改代码,只需要修改配置文件就OK了

是否启动TELNETD这样一个进程

密码输错一次,就不能用退格来清理了,就必须重新输入密码了

这个:是用来配置SSH的,如果有SSHD_EN=yes的话,那就开启了ssh的配置

如果这个东西不等于yes,那么就把这个东西移动到backup目录下面去

移动到backup路径下,这不就不在了嘛,不在了,下一次开机的时候,这个文件就不能被执行了,所以ssh就被关掉了

如果等于了yes,那么就到了这边,如果文件不在,就从backup里面移到这边来,这个设计,目前是有点别扭的

但是,意思呢,就是说通过这个配置文件,就能决定到底有没有执行这个

这里,调用了一个/userdata/user-script.sh

在这里面,只是打印了一部分用户脚本的内容

从启动信息里面,就可以看到这个打印

假设咱们使用了这个开发板,使用了这个SDK,假设想要一些开机自动输出的东西,比如说自己写了一个额外的应用程序,我希望开机自动执行,那就可以把那些开机自动执行的东西,放在这个脚本里面,在启动过程中,就会自动调用我这个脚本

相当于给你钉了一个钉子,事先定义了一个回调,看你用不用

挂载我们用户自己的分区

首先是要弄清楚mmcblk0p5

这里是挂载mmcblk0p5到/user路径下

这个可以在传参bootargs里面去修改它,也可以使用内核里面那个写死的分区,这里面确定的方法其实还挺多的

创建这个/user目录就是为了做挂载点的

如果emmc里面还剩余很大的内存,想继续使用怎么办呢?

其实,就是像上面这样,做成分区,去挂载就行了,这样一来,eMMC里面的所有空间,都是可以被你使用的

但是,先必须得把它做一个分区,生成一个文件,对应一个设备文件,然后,再把这个设备文件挂载到我们根文件系统底下的一个直接或间接的一个目录里面去(/user目录),这样,才可以用起来。

配置wifi

首先,是把这两个库,做了一个符号链接

然后,是安装了2个库,首先得把库部署到这里面

cfg80211.ko:这个是最基本的网络协议栈

8189fs.ko:这个应该是板卡厂商用的那个wifi芯片

这里是分开了,以前是直接添加到原来的内核源码里面去的

这是一个用作GPIO使用的,用来开启4G模块的电源

sensor0和sensor1就是在这里配置的

这里是根据sensor来确定引脚,用himm工具写寄存器的

这里是对接屏幕所需要的ko文件

这里是装载触摸屏对应的ko文件,还有LCD,以及TP

相关的宏定义在这里面

移植触摸屏驱动的时候,是在那里作更改,但却是在这里作引用的

与Audio有关的东西

与Camera有关的东西

与LCD有关的东西

与Camera上面的LED有关的东西,关乎红外,可见光

以上便是相关的日志

这里还考虑到了开发板的大小

这个sample_vio,其实是在:/usr/sample/vio/路径下

这个就是程序的位置

这个是关闭LCD的背光

这个是关闭Camera的LED

vio的sample就在这个目录下

在大小上是一致的

在这个sample里面,其中就有vio

这个,就是最后生成的可执行文件

在大小上,这两者也是一致的

svp,vgs:这个是做图像识别相关的

hifb:这个是负责图像到屏幕上显示的


Author: Ruimin Huang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Ruimin Huang !
  TOC