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 命令查看链接的库版本

相关推荐
AOI小白新手上路20 小时前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
oshan20121 天前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
记帖1 天前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6
自小吃多1 天前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
jianqiang.xue1 天前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
东莞市永盛电气1 天前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
Learn-Share_HY1 天前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
深圳市宝华视联1 天前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库
星河单片机1 天前
STM32驱动Y01-3IN1空气质量模块+OLED显示完整教程
stm32·单片机·嵌入式硬件·空气质量·甲醛检测·二氧化碳检测·tvoc检测
宣宣猪的小花园.1 天前
【控制算法】PID 不只是三个参数:比例、积分、微分各在解决什么问题
人工智能·嵌入式硬件·机器学习