第十五讲 运行开发板和 fire-config 介绍
文章目录
一、 让开发板跑起来
1、启动方式
通过调节拨码开关可以切换不同的启动方式,拨码开关的位置如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tr5UdXov-1629303753446)(C:\Users\Dragon\AppData\Roaming\Typora\typora-user-images\image-20210818210925807.png)]
将拨码开关拨到 ‘on’ 的位置,那么这就是高电平,反之则是低电平。
启动方式配置表格
编号 | 名称 | nand flash | eMMC | SD | USB |
---|---|---|---|---|---|
1 | MODE0 | 0 | 0 | 0 | 1 |
2 | MODE1 | 1 | 1 | 1 | 0 |
3 | CFG1-4 | 1 | 0 | 0 | x |
4 | CFG1-5 | 0 | 1 | 0 | x |
5 | CFG1-6 | 0 | 1 | 1 | x |
6 | CFG1-7 | 1 | 0 | 0 | x |
7 | CFG2-3 | 0 | 1 | 0 | x |
8 | CFG2-5 | 0 | 0 | 1 | x |
开发板上电后会根据拨码开关的状态从不同的存储器加载代码运行, 故上电前需要根据自己开发板使用的存储器进行配置, 如使用NAND FLASH存储器的开发板,就配置 2-3-6 至ON档位, 即0-1-1-0-0-1-0-0;eMMC存储器启动为 2-4-5-7 至ON档位; SD卡启动为 2-5-8 至ON档位。
其中的USB启动模式主要用来配合NXP官方的mfgtool工具烧录镜像。
根据启动方式配置表即可选择不同的启动方式,例如选择 SD 卡启动方式可以将拨码开关拨为 0100 1001 ,这样系统将会从 SD 卡启动。结合十四讲的固件烧录就能够启动系统了。
2、查看打印信息
-
系统信息是通过串口输出出来的,要查看这些信息需要两个工具
串口调试助手:这里我直接使用野火官方的串口助手,其他助手也是一样的
串口驱动:串口驱动是 CH340, 如果没有安装这个驱动,可以从网上获取(百度)
-
前面的准备好了之后,就可以开始硬件连接了,硬件链接接口如下图所示
-
知道接口在哪之后通过连接线链接串口和电脑
-
通过设备管理器查看串口是否被识别
如果没有识别先确认前面所说的驱动有没有安装好
如果驱动已安装,可以重启电脑试试,重启大法
-
打开串口调试助手,然后打开刚才所识别的端口,并设置好串口参数
3、 登陆系统
前面已经讲了开发板的启动,启动输出出来,这时我们还没有登陆系统,系统内部的一些功能我们是是用不了的。接下来讲系统登陆。
准备工具:工具有很多,比如 secureCRT 、putty、还有 MobaXterm 等工具,都可以。因为我之前就已经安装了 SecureCRT ,所以这里我用这个工具来讲。其他工具也都大同小异。
-
启动开发板,等待开发板启动
-
当开发板显示
npi login:
时,表示开发板已经启动完成注意,我使用的是野火的镜像,所以会显示这个,其他镜像显示的可能不一致
-
输入用户名
用户名为:debian
-
输入密码
密码为:temppwd
-
前面两步是针对于野火开发板的用户名和密码,如果您使用的不是这个,请使用自己开发板的用户名和密码。
注意:输入用户密码的时候并不会出现任何显示,只需输入完,然后回车即可
二、 fire-config 工具介绍
注意:该工具专用于野火新发布的Debian系统镜像,不适合用于野火旧版本镜像和其他任何的Linux系统上。fire-config是野火IMX-6ULL开发板自带的一个系统配置工具, 通过串口终端或远程终端可以方便地使用它来进行系统功能的使能或禁止。
1、 启动 fire-config
命令:sudo fire-config
由于该工具会改变一系列不属于当前用户的文件,sudo是必须要加的
启动界面
2、菜单选择和移动
在菜单中,使用up和down箭头键可以在不同的选项中切换,被选中的一项将会高亮显示, 使用right箭头键将跳出“选项”,并跳转到和按钮。按下left将使您返回选项。 按钮表示该项被选中,按钮表示已完成全部配置项。
一般而言,fire-config旨在提供一些常见的系统功能配置服务,在进行配置过程中, 这可能会导致/boot/uEnv.txt或者是其他各种标准的linux配置文件被自动更改了, 某些选项需要重启才能生效,如果您修改了其中一个,fire-config 会在 按钮被选择时,询问您是否要立即重启,如果您希望配置马上生效,确定重启系统即可。
3、设备树插件
ire-config工具集成了Device Tree Overlays机制,用来管理一些硬件资源的分配和模块的加载, 从而缓解多个驱动程序争用系统资源的问题。
在传统开发模式中,这个机制通常是由设备树来完成的:在开发之前根据项目需求, 提前确定系统中所有用到的硬件设备。在设备树中把所有的外围设备信息以设备树特定的语法进行描述, 在设备树被编译为dtb文件后,被linux内核加载使用。
可以看到,在传统开发过程,一旦硬件资源发生变化,就要重新修改、编译、下载设备树。比较极端的情况是: 当项目中要支持多种的硬件模块,而不同模块间往往会共用某些系统资源(如IO引脚)。 一旦系统要兼容模块任意组合使用,那么随着模块数量增加,需要编译的设备树数量将爆炸增长。
因此,使用传统设备树是不利于项目的维护和扩展的。内核为了解决这个提出了一套新的解决方案, 那就是Device Tree Overlays,中文上可理解为“设备树插件”。 它的核心原理是,通过扩展传统的设备树语法,使得各个硬件模块的信息可以独立地用新的设备树语法来描述。 这样一来,传统的主设备树中只需要保留最基础的硬件信息(主要是cpu和内存),其他模块单独编译成“设备树插件”。 在系统实际使用时,根据实际应用情景,需要用到哪些硬件模块就把对应的设备树插件加入到主设备树即可。
4、功能项
选项 | 说明 |
---|---|
Change User Password | 修改用户密码 |
Network | 配置网络相关的选项 |
Boot | 配置启动相关的选项 |
Localisation | 配置系统使用的语言 |
Bus | 配置系统使用的总线 |
Device | 配置外围设备 |
Advanced | 配置高级选项 |
shell | 配置串口终端参数与SSH |
help&Update | 关于fire-config工具与更新 |