3. 运行开发板与串口终端登录

最开始运行开发板时需要三个步骤:烧录系统,启动系统和终端登录。开发板出厂都默认烧录了系统镜像,可以直接使用,如果要烧录其他版本的系统镜像可以参考 《烧写系统》。 启动系统需要设置拨码开关和上电启动等操作,具体可以参考本文的下面几个小结。终端登录可以使用串口登录,参考本文的串口终端登录小节,也可以使用ssh登录,参考下 《开发板连接网络与SSH登录》

3.1. 开发板的启动方式

i.MX系列芯片支持多种启动方式,在我们配套的开发板上主要使用其中的NAND-FLASH、eMMC、SD卡及USB启动方式。 通过调整BOOT拨码开关可以设置不同的启动方式。

拨码BOOT开关的一侧会写着ON字样,把拨码调至ON一侧表示对应的选项为高电平1,调至另一侧为0, 不同启动方式配置见下表,也可以直接查看开发板上的丝印说明(一般印在板子背面),表中的X表示任意电平均可。

下表为BOOT拨码开关配置的启动方式:

BOOT拨码开关启动配置表

编号

名称

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

其中的USB启动模式主要用来配合NXP官方的mfgtool工具烧录镜像。

3.2. 启动步骤

开发板出厂时默认都烧录了Debian Linux系统,确认根据存储器类型设置了正确的boot启动方式,只要上电就会自动运行。

以下为开发板的启动操作步骤:

  1. 根据自己开发板的版本和 BOOT拨码开关启动配置表 设置拨码开关(出厂配置通常是配套的,检查确认即可)。

  2. 若使用显示屏,需要在开发板上电前要连接好显示屏。另外,开发板支持鼠标和键盘,有需要可以通过USB接口连接至开发板。

  3. 使用DC电源给开发板供电(Mini开发板使用5V电源,Pro开发板使用DC 12V电源!)。注意由于Pro开发板底板设备较多,功耗大, 只使用USB线给开发板供电是无法正常运行的!Mini开发板功耗较小,可直接通过USB线供电。

  4. 若上电之后开发板长时间没有反应,长按 ON/OFF 按键开机。

EBF6ULL Mini开发板系统启动图:

EBF6ULL Pro底板硬件资源图

EBF6ULL Pro开发板系统启动图:

EBF6ULL_Pro开发板接线图
  1. 对于带屏幕的开发板,可以直接通过触摸屏控制开发板。

  2. 对于不带屏幕的开发板,可以通过串口终端控制开发板。关于串口终端的使用请参考下一小节的内容。

提示

如果供电后直接按电源开关没有反应,可以尝试长按板子的 ON/OFF 键进行开机。 ON/OFF 键的功能与PC的开关机键类似,长按可以进行开关机。 当系统使用 poweroff 命令关机后,它是必须长按ON/OFF键才能开机的,这种情况供电后系统不会直接启动,与PC类似。

3.3. 默认用户名、密码、主机名和IP

开发板出厂的Linux系统默认支持使用串口终端以及SSH终端进行控制, 也就是说可以使用串口通讯以及网络通讯的形式,在PC上使用命令行控制开发板。

3.3.1. 默认用户名和密码

串口终端与SSH终端都使用以下相同的用户名和密码:

普通用户(带sudo权限):

1
2
账户: debian
密码: temppwd

ROOT用户:

1
2
账户: root
密码: root

若要修改用户名,可以使用 usermod 命令,修改密码可以使用 passwd 命令。

3.3.2. 默认主机名和IP

使用SSH终端登录时,可以通过主机名和IP连接板子:

1
2
主机名: npi
IP不固定,默认由路由动态分配,可先通过串口终端连接,使用 ifconfig 命令查看具体IP。

若要修改主机名,修改 /etc/hostname 文件中的内容即可。

3.4. 串口终端登录

3.4.1. 默认串口终端参数与驱动

开发板串口终端使用的默认串口通讯参数为: 115200-N-8-1

提示

使用USB转串口时,都需要先安装对应的驱动。 Pro 开发板与上面推荐Mini板配套的 USB转TTL串口线 都使用CH340驱动,驱动下载链接:http://www.wch.cn/products/CH340.html

3.4.2. 串口终端软件推荐

在Windows下有很多种终端工具,例如MobaXterm、secureCRT、xShell、Putty等, 此处我们推荐使用 MobaXterm 终端软件,它非常易用且功能强大,对中文支持也好。

下载地址: https://mobaxterm.mobatek.net/download.html

另外, MobaXterm 终端软件的详细使用可以参考文档: 《串口终端登录步骤》

3.4.3. 修改串口终端登录前信息

有时候我们希望登录串口终端时不显示账号密码信息,或者显示我们需要的信息。我们可以使用命令

1
sudo vim /etc/issue          /*没有安装vim编辑器可以使用nano*/

打开/etc/issue文件,修改里面内容,之后保存,重启开发板在登录终端前就会显示我们修改之后的信息。

3.5. 板子上电自动登录

想要使板子上电时自动登录,只需要修改 /lib/systemd/system/serial-getty@.service 文件即可, 以上电自动登录debian用户为例,打开 /lib/systemd/system/serial-getty@.service 文件 找到以 ExecStart 开头的一行,如下所示

1
ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM

将其修改为

1
ExecStart=-/sbin/agetty  --autologin debian --keep-baud 115200,38400,9600 --noclear %I vt220

若想要以root用户自动登录,只需要将以上的debian替换为root即可。

3.6. 使用systemd-network设置静态ip

Systemd已成为了大多数发行版的标准配置, 使用了Systemd,就不需要再用init了。 Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。 这里简单介绍如何使用systemd-network来设置静态ip

3.6.1. 步骤一

在板子上执行以下两条命令

1
2
3
 mv /etc/network/interfaces /etc/network/interfaces.save

 systemctl enable systemd-networkd
  • 第一条指令将之前/etc/network/interfaces文件重命名为interfaces.save

  • 第二条指令使能systemd-networkd服务

3.6.2. 步骤二

在/etc/systemd/network目录下增加需要配置的网卡配置信息文件,文件以.network后缀作为结尾。 如新建一个配置网卡eth1文件 eth1.network,文件内容如下:

1
2
3
4
5
6
7
[Match]
Name=eth1

[Network]
Address=192.168.1.20/24
Gateway=192.168.1.1
DNS=192.168.1.1

关于systemd-network更多资料可参考以下链接: https://wiki.archlinux.org/index.php/Systemd-networkd