littlebot
Published on 2025-04-13 / 1 Visits
0

【源码】基于Codal的NUCLEOF4x1RE开发板编程支持项目

项目简介

本项目是针对 NUCLEO_F4x1RE 开发板的 Codal 目标实现。Codal 由兰卡斯特大学编写,是一套核心驱动、机制和类型集合,构成了 Makecode 中开发板运行时环境。项目为使用 C/C++ 语言对 NUCLEO_F4x1RE 开发板进行编程提供便捷环境,也支持合作伙伴提供的面向物理计算和计算机科学教育的高级语言,目前作为 Microsoft MakeCode 的支持库使用。

项目的主要特性和功能

  1. 丰富的硬件支持:涵盖开发板所有硬件功能的设备驱动,支持从 LED 矩阵显示控制到对等无线电通信以及安全的低功耗蓝牙服务等功能。
  2. 多语言支持:支持 C/C++ 开发,同时专门设计以支持面向物理计算和计算机科学教育的高级语言。
  3. 便捷的开发体验:Codal 作为构建系统,极大简化了新手用户的开发体验。
  4. 可扩展性:支持 Arduino Uno V3 连接性,可通过各种专业扩展板实现无限扩展功能。

安装使用步骤

安装

在使用此目标之前,需在平台上配置一些软件: 1. 安装 git,并确保其在平台路径中可用。 2. 安装适用于 ARM 设备的 arm-none-eabi-* 命令行实用工具,并确保其在平台路径中可用。 3. 安装 CMake(跨平台构建工具),这是整个构建系统。 4. 若不熟悉 CMake,需安装 Python 2.7,Python 脚本可简化构建过程。

构建

  1. 创建 codal.json 文件,示例内容如下: json { "target": { "name": "codal-stm32-NUCLEO_F4x1RE", "branch": "master", "type": "git", "test_ignore": true } }
  2. 在仓库根目录下执行 python build.py-c 选项可在构建前进行清理。
  3. 生成的 NUCLEO_F4x1RE.bin 文件将位于 codal.json 指定的位置,默认是根目录。
  4. 若要测试示例程序,只需将 bin 文件复制到开发板的大容量存储中即可。

高级使用

若要覆盖或定义支持库使用的其他配置选项(#define),可在 codal.json 中添加 config 字段,示例如下: json { "target": { "name": "codal-stm32-NUCLEO_F4x1RE", "branch": "master", "type": "git", "test_ignore": true }, "config":{ "NUMBER_ONE":1 }, "application":"source", "output_folder":"." } 上述示例会将 "NUMBER_ONE":1 转换为 #define NUMBER_ONE 1 并在编译时强制包含。还可指定替代的应用程序或输出文件夹。

执行特定示例应用程序

默认情况下,source 目录中的应用程序是此仓库 samples 目录的内容。由于一次只能执行一个示例,因此需要配置目标以指定要执行的示例。例如,若要测试 BLE_TEMPERATURE_ALARM_SAMPLE,需使用以下 codal.json 进行配置: json { "target": { "name": "codal-stm32-NUCLEO_F4x1RE", "branch": "master", "type": "git", "test_ignore": true }, "config":{ "BLE_TEMPERATURE_ALARM_SAMPLE":1 }, "application":"source", "output_folder":"." }

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】