2. 运行开发板与串口终端登录¶
本章主要讲解如何使用配套的开发板,让开发板的系统运行起来!
2.1. 开发板的启动方式¶
STM32MP1系列芯片支持多种启动方式,在我们配套的开发板上主要使用其中的NAND-FLASH、eMMC、SD卡及USB启动方式。 通过调整BOOT拨码开关可以设置不同的启动方式。
拨码BOOT开关的一侧会写着ON字样,把拨码调至ON一侧表示对应的选项为高电平1,调至另一侧为0, 不同启动方式配置见下表,也可以直接查看开发板上的丝印说明。
下表为BOOT拨码开关配置的启动方式:
编号 |
名称 |
NAND |
eMMC |
SD |
USB |
---|---|---|---|---|---|
1 |
BOOT1 |
1 |
0 |
1 |
0 |
2 |
BOOT2 |
1 |
1 |
0 |
1 |
3 |
BOOT3 |
0 |
0 |
1 |
1 |
其中的USB启动模式主要用来配合ST官方的STM32CubeProgrammer工具烧录镜像。
2.2. 启动步骤¶
开发板出厂时默认都烧录了Debian Linux系统,确认根据存储器类型设置了正确的boot启动方式,只要上电就会自动运行。
以下为开发板的启动操作步骤:
根据自己开发板的版本和 BOOT拨码开关启动配置表 设置拨码开关(出厂配置通常是配套的,检查确认即可)。
若使用HDMI显示屏,需要在开发板上电前要连接好显示屏。
使用DC电源给开发板供电(Pro开发板使用DC 12V电源)。注意由于Pro开发板底板设备较多,功耗大, 只使用USB线给开发板供电是无法正常运行的!
按下电源开关,给开发板上电。
对于带屏幕的开发板,可以直接通过触摸屏控制开发板。
开发板支持鼠标和键盘,有需要可以通过USB接口连接至开发板。
对于不带屏幕的开发板,可以通过串口终端控制开发板。关于串口终端的使用请参考下一小节的内容。
2.3. 默认用户名、密码、主机名和IP¶
开发板出厂的Linux系统默认支持使用串口终端以及SSH终端进行控制, 也就是说可以使用串口通讯以及网络通讯的形式,在PC上使用命令行控制开发板。
2.3.1. 默认用户名和密码¶
串口终端与SSH终端都使用以下相同的用户名和密码:
普通用户(带sudo权限):
1 2 | 账户: debian
密码: temppwd
|
ROOT用户:
1 2 | 账户: root
密码: root
|
若要修改用户名,可以使用 usermod 命令,修改密码可以使用 passwd 命令。
2.3.2. 默认主机名和IP¶
使用SSH终端登录时,可以通过主机名和IP连接板子:
1 2 | 主机名: npi
IP不固定,默认由路由动态分配,可先通过串口终端连接,使用 ifconfig 命令查看具体IP。
|
若要修改主机名,修改 /etc/hostname 文件中的内容即可。
2.4. 串口终端登录¶
2.4.1. 默认串口终端参数与驱动¶
开发板串口终端使用的默认串口通讯参数为: 115200-N-8-1 。
提示
使用USB转串口时,都需要先安装对应的驱动。 配套的 USB转TTL串口线 都使用CH340驱动,驱动下载链接:http://www.wch.cn/products/CH340.html 。
2.4.2. 串口终端软件推荐¶
在Windows下有很多种终端工具,例如MobaXterm、secureCRT、xShell、Putty等,
此处我们推荐使用 MobaXterm
终端软件,它非常易用且功能强大,对中文支持也好。
2.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即可。
2.6. 使用systemd-network设置静态ip¶
Systemd已成为了大多数发行版的标准配置, 使用了Systemd,就不需要再用init了。 Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。 这里简单介绍如何使用systemd-network来设置静态ip
2.6.1. 步骤一¶
在板子上执行以下两条命令
1 2 3 | mv /etc/network/interfaces /etc/network/interfaces.save
systemctl enable systemd-networkd
|
第一条指令将之前/etc/network/interfaces文件重命名为interfaces.save
第二条指令使能systemd-networkd服务
2.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