项目简介
本项目是针对 NUCLEO_F4x1RE 开发板的 Codal 目标实现。Codal 由兰卡斯特大学编写,是一套核心驱动、机制和类型集合,构成了 Makecode 中开发板运行时环境。项目为使用 C/C++ 语言对 NUCLEO_F4x1RE 开发板进行编程提供便捷环境,也支持合作伙伴提供的面向物理计算和计算机科学教育的高级语言,目前作为 Microsoft MakeCode 的支持库使用。
项目的主要特性和功能
- 丰富的硬件支持:涵盖开发板所有硬件功能的设备驱动,支持从 LED 矩阵显示控制到对等无线电通信以及安全的低功耗蓝牙服务等功能。
- 多语言支持:支持 C/C++ 开发,同时专门设计以支持面向物理计算和计算机科学教育的高级语言。
- 便捷的开发体验:Codal 作为构建系统,极大简化了新手用户的开发体验。
- 可扩展性:支持 Arduino Uno V3 连接性,可通过各种专业扩展板实现无限扩展功能。
安装使用步骤
安装
在使用此目标之前,需在平台上配置一些软件:
1. 安装 git
,并确保其在平台路径中可用。
2. 安装适用于 ARM 设备的 arm-none-eabi-*
命令行实用工具,并确保其在平台路径中可用。
3. 安装 CMake(跨平台构建工具),这是整个构建系统。
4. 若不熟悉 CMake,需安装 Python 2.7
,Python 脚本可简化构建过程。
构建
- 创建
codal.json
文件,示例内容如下:json { "target": { "name": "codal-stm32-NUCLEO_F4x1RE", "branch": "master", "type": "git", "test_ignore": true } }
- 在仓库根目录下执行
python build.py
,-c
选项可在构建前进行清理。 - 生成的
NUCLEO_F4x1RE.bin
文件将位于codal.json
指定的位置,默认是根目录。 - 若要测试示例程序,只需将 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】