Mac(M芯片)上进行嵌入式开发遇到的问题

通过 CH340 串口转接器连接

  1. 获取 CH340 串口转接器

macOS 下,CH340 串口转接器一般会以 /dev/tty.usbserial-* 的形式显示。

zsh 复制代码
ls /dev/tty.*  # /dev/tty.wchusbserial1110
  • 一般第一次连接无法识别,需要安装驱动才行。
  1. 安装驱动

通过串口调试工具连接

  • 下载mac版本的 secureCRT macos secureCRT

  • 后面的操作就和windows secureCRT一样了

  • 或者使用 termius

交叉编译问题

  1. 可能会遇到编译链的版本比较高,开发板的 glibc 版本过低问题
  • 解决方法:
  • M芯片的 内核版本是 aarch64 有些开发板的内核版本是 armv7l,需要我们进行交叉编译的话,需要将交叉编译链的版本改为 armv7l,使用
    sudo apt-get install gcc-arm-linux-gnueabihf,这里有个点要注意,需要看开发板的glibc版本,然后去下载对应的编译环境。
  • 获取开发板的 glibc 版本:
    ldd --version 或者 /lib/libc.so.6
  1. 可以使用 docker 镜像解决交叉编译问题
  • 推荐在虚拟机 ubuntu下安装docker,然后使用 docker 镜像进行交叉编译。

  • 安装成功后使用命令进入你要编译的文件下

    docker run -it --rm
    -v /home/ry2/base:/workspace
    -w /workspace
    ubuntu:16.04
    /bin/bash

  • 配置镜像源

bash 复制代码
sudo vim /etc/docker/daemon.json
# 使用命令
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://hub.rat.dev",
    "https://dockerproxy.com"
  ]
}
EOF
  • 启动一个 Ubuntu 16.04 的临时 Docker 容器,并把宿主机的 /home/ry2/base 映射到容器里的 /workspace,然后进入 Bash。

  • 安装交叉编译工具链

bash 复制代码
apt-get install -y build-essential wget pkg-config libffi-dev zlib1g-dev gcc-arm-linux-gnueab

arm-linux-gnueabihf-gcc --version 输出:arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0

编译好程序后可以使用strings lib/touch | grep GLIBC 查看链接的库版本是否符合开发板的要求

还可以使用 file 命令查看链接的库版本

相关推荐
机器视觉知识推荐、就业指导2 小时前
为什么同一个引脚不能同时做按键和串口
stm32·单片机·嵌入式硬件
崇山峻岭之间2 小时前
单片机基本定时器实验
单片机·嵌入式硬件
不爱记笔记2 小时前
苹果WWDC 2026全解析:Apple Intelligence+ 性能提升数据一览
macos·ios·wwdc
DS小龙哥2 小时前
基于ESP32设计的智能养蜂监测系统
stm32·单片机·嵌入式硬件·物联网·华为云
夜月yeyue3 小时前
STM32 DMA 双缓冲采样
linux·stm32·单片机·嵌入式硬件·系统架构
西城微科方案开发3 小时前
SIC8P370D2L-PLP16 8位OTP单片机 低功耗多功能MCU详解
单片机·嵌入式硬件
踏着七彩祥云的小丑6 小时前
嵌入式测试第 32 天:升级测试:固件OTA升级、断点续传、回滚测试
单片机·嵌入式硬件·学习
小小程序员mono6 小时前
WWDC 2026 之后,M5 桌面 Mac 上市时间预测
macos·ios·wwdc
sramdram6 小时前
基于MCU微控制器的电子血压计应用解决方案
单片机·嵌入式硬件·mcu·mcu微控制器