MacOS Arduino开发环境搭建和编译minimosd-extra

这篇博客介绍了如何在Mac平台上下载并安装Arduino IDE,然后利用ArduinoMakefile来编译minimosd-extra和SingleSerial项目。通过修改build.sh脚本,只编译MAVLINK和NMEA部分,并调整Makefile中ArduinoMakefile的路径。最后,执行build.sh进行编译。

1. 从arduino官方网站:https://www.arduino.cc/en/Main/Software下载mac平台的IDE

2.安装Arduino Makefile , 

 

   git clone https://github.com/sudar/Arduino-Makefile.git

3. 下载minimosd-extra源代码

 

 git clone  https://github.com/night-ghost/minimosd-extra.git

4.下载SingleSerial

cd minimosd-extra
git submodule init 
git submodule update

5. 修改build.sh, 仅编译MAVLINK和NMEA

#!/bin/sh

BUILD='MinimOsd_Extra/build-atmega328'
SRC='MinimOsd_Extra'
RELEASE='Released/FW_+_Char'

version(){
    cat MinimOsd_Extra/version.h | grep 'RELEASE_NUM' | awk '{print $3}'
}

VERS=`version`

make_one(){
    PROTO=$1

    make -C $SRC PROTO="-DUSE_${PROTO}=1"
    [ -f $BUILD/MinimOsd_Extra.hex ] && mv $BUILD/MinimOsd_Extra.hex $RELEASE/MinimOsd_Extra_Uni.${VERS}DV-${PROTO}-release.hex && rm -rf $BUILD

}


#make_one 'UAVTALK' &&
#make_one 'MAVLINK' &&
#make_one 'MAVLINKPX4' &&
#make_one 'MWII' &&
#make_one 'NMEA' &&
#make_one 'LTM' 
make_one 'MAVLINK'&&
make_one 'NMEA'

#make_one 'MAVLINK' '-DWALKERA_TELEM=RssiPin' &&

6.修改MinimOsd_Extra/Makefile的include文件名为你下载的Arduino Makefile源码所在路径,我这里是 /Volumes/p1t2/Arduino-Makefile/Arduino.mk

...

#include /usr/share/arduino/Arduino.mk
include /Volumes/p1t2/Arduino-Makefile/Arduino.mk
# !!! Important. You have to use make ispload to upload when using ISP programmer

7执行 build.sh

        

./build.sh

### 如何使用 ESP-IDF 打开兼容 Arduino 工程 在 ESP-IDF 中集成 Arduino 框架,可以通过特定的配置步骤实现对 Arduino 工程的支持。以下是实现此目标的具体方法相关信息: #### 1. 创建支持 Arduino 的 ESP-IDF 项目 为了在 ESP-IDF 中启用 Arduino 框架,需要创建一个支持 Arduino 的项目模板。通过以下命令可以基于官方提供的 `arduino-esp32` 组件创建一个新的项目: ```bash idf.py create-project-from-example "espressif/arduino-esp32^3.0.2:hello_world" ``` 上述命令会从指定的模板生成一个包含 Arduino 支持的项目[^1]。 #### 2. 安装必要的工具链依赖项 确保已正确安装 ESP-IDF 的标准开发工具链。对于 Ubuntu 系统,可以参考官方文档中的 Linux macOS 标准工具链安装指南[^2]。安装完成后,验证环境变量是否正确配置,例如 `IDF_PATH` 是否指向 ESP-IDF 的根目录。 #### 3. 配置项目以启用 Arduino 框架 在创建的项目中,打开项目的 CMake 文件(通常是 `CMakeLists.txt`),并确认以下内容是否存在: ```cmake set(EXTRA_COMPONENT_DIRS "${PROJECT_PATH}/components" "${IDF_PATH}/components" "${IDF_PATH}/tools/ci/python_env/idf5.1_py3.9_env/lib/python3.9/site-packages/arduino") ``` 这一步确保了 Arduino 组件被正确包含到构建系统中。 #### 4. 转换 Arduino 工程为 ESP-IDF 兼容格式 如果已有 Arduino 工程需要迁移到 ESP-IDF,可以按照以下步骤操作: -Arduino 工程的源代码文件(如 `.ino` 文件)复制到 ESP-IDF 项目的主目录。 - 使用 ESP-IDF 提供的工具将 `.ino` 文件转换为标准的 C++ 文件。运行以下命令: ```bash python ${IDF_PATH}/tools/kconfig_new/confgen.py --ard-reset ${YOUR_PROJECT_PATH} ``` 此命令会将 Arduino 的入口函数(如 `setup()` `loop()`)适配为 ESP-IDF 的标准格式。 #### 5. 构建烧录项目 完成上述配置后,可以通过以下命令构建项目并烧录到设备: ```bash idf.py build idf.py flash idf.py monitor ``` 这些命令分别用于编译项目、将固件烧录到设备以及启动串口监视器。 #### 示例代码 以下是一个简单的 Arduino 风格的示例代码片段,展示了如何在 ESP-IDF 中使用 Arduino 框架: ```cpp #include <Arduino.h> void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(500); digitalWrite(LED_BUILTIN, LOW); delay(500); } ``` 该代码会在开发板的内置 LED 上产生闪烁效果,并通过串口输出日志信息。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值