BeaglePlay 开发板试用-过程帖
上期开箱贴已经成功更新系统
本期我们将在M4内核上运行zephyr rtos并实现串口打印输出
我们烧写完系统启动之后是无法操作内核的,需要更新设备树
网址:https://github.com/beagleboard/BeagleBoard-DeviceTrees/tree/v6.18.x

我们直接使用命令
git clone https://github.com/beagleboard/BeagleBoard-DeviceTrees.git
下载到开发板根目录
然后
cd BeagleBoard-DeviceTrees
make
sudo make install arm64
至此即可控制M4内核

重启开发板
可通过dmesg | grep m4

查看是否生效
既然M4内核配置已经完成,那么接下来就开始编译zephyr固件
具体网址:https://docs.zephyrproject.org/latest/boards/beagle/beagleplay/doc/index.html

这里需要勘误纠正一下,
west build -b 参数应该为 beagleplay/am6254/m4 不是网页上介绍的
pocketbeagle_2/am6254/m4
一定注意这个细节,避免串口无法打印数据

作者的zephyr开发环境安装在了ubuntu实体机上
相关的指导可以参考这个帖子:https://forum.eepw.com.cn/thread/400507/1
进入程序目录west build -b beagleplay/am6254/m4 -p always
构建固件

相关软件代码
/*
* Copyright (c) 2012-2014 Wind River Systems, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdio.h>
#include <zephyr/kernel.h>
/* 1000 msec = 1 sec */
#define SLEEP_TIME_MS 1000
int main(void)
{
while (1)
{
printf("Hello World eepw beagleplay board! user rasngsun %sn", CONFIG_BOARD_TARGET);
k_msleep(SLEEP_TIME_MS);
}
return 0;
}然后通过scp命令上传至开发板,ip需要填写开发板真实ip

scp ./build/zephyr/zephyr.elf debian@0.0.0.0:~/
在开发板上执行以下命令更新M4 mcu固件,并重启开发板
sudo cp --remove-destination ./zephyr.elf /lib/firmware/am62-mcu-m4f0_0-fw

这时M4 mcu即可通过开发板上的
mikroBUS (I2C/UART/SPI/MCAN/MCASP/PWM/GPIO)
端口上的uart查看输出信息
这里我们需要借助usb转串口实现
开发板和串口模块的gnd需要接在一起
开发板mikroBUS tx连接串口模块的rx

继续使用如下命令
sudo tio /dev/ttyUSB0 -b 115200
即可查看串口输出

我要赚赏金
