编写一个.sh的脚本,然后通过 shell 脚本执行 Makefile 文件并把生成的可执行文件下载到开发板中

要编写一个shell脚本来执行Makefile并下载生成的可执行文件到开发板,你需要确保开发板可以通过某种方式(如SSH、FTP、SCP等)访问。以下是一个简单的shell脚本示例,它使用scp命令将可执行文件从本地机器复制到开发板。

假设你的开发板可以通过SSH访问,并且你已经配置了SSH密钥认证,这样你就不需要输入密码。同时,假设你的开发板的IP地址是192.168.1.100,你的用户名是user

创建一个名为deploy.sh的shell脚本文件,并添加以下内容:

bash

#!/bin/bash

# 定义开发板的IP地址、用户名和可执行文件名
DEPLOY_IP="192.168.1.100"
DEPLOY_USER="user"
PROJECT_NAME="project"

# 编译项目
make

# 检查Makefile是否成功执行
if [ $? -ne 0 ]; then
    echo "Makefile failed to execute."
    exit 1
fi

# 获取可执行文件的路径
EXECUTABLE_PATH="./${PROJECT_NAME}"

# 检查可执行文件是否存在
if [ ! -f "${EXECUTABLE_PATH}" ]; then
    echo "Executable file not found."
    exit 1
fi

# 将可执行文件复制到开发板
scp "${EXECUTABLE_PATH}" "${DEPLOY_USER}@${DEPLOY_IP}:~/"

# 检查scp命令是否成功执行
if [ $? -ne 0 ]; then
    echo "Failed to copy executable to the development board."
    exit 1
else
    echo "Executable file copied to the development board successfully."
fi

确保你的脚本文件具有执行权限:

chmod +x deploy.sh

运行脚本:

./deploy.sh      #source deploy.sh

这个脚本首先执行Makefile来编译项目。如果编译成功,它会检查生成的可执行文件是否存在。如果存在,脚本会使用scp命令将可执行文件复制到开发板的指定路径。如果scp命令执行成功,脚本会输出成功消息;如果失败,脚本会输出错误消息并退出。

此外,还可以使用FTP或通过USB存储设备。

posted @ 2024-06-14 19:13  freeangel123  阅读(126)  评论(0)    收藏  举报