我是在win10系统下,搭建Ubuntu子系统做的,也可以直接用Ubuntu系统。
1.在Microsoft Store安装Ubuntu18.04子系统,打开后创建用户名和密码。
安装方法可以参考网上教程(只需要打开Linux子系统的服务后,重启电脑):https://blog.csdn.net/zhangdongren/article/details/82663977
2.输入Bash开启子系统。
3.安装编译需要的工具
用户可以安装所需的软件包:
sudo apt-get update
sudo apt-get install python-setuptools cmake build-essential ninja-build python-dev libffi-dev libssl-dev srecord
sudo apt-get install python-pip
期间有提示的都Yes确定。
3.安装交叉编译器
# 添加软件源并更新
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
# 安装
sudo apt-get install gcc-arm-none-eabi
验证:输入以下命令可以正常显示版本则安装OK
arm-none-eabi-gcc –v
4.编译项目
#clone项目
clone https://github.com/microbit-foundation/micropython-microbit-v2
cd micropython-microbit-v2
#编译项目
git submodule update --init
make -C lib/micropython/mpy-cross
cd src
make
注意:第一次执行的时候会有提示文件缺失,在缺失文件的子目录可以找到对应的文件,把文件移到之后即可。
编译过一次之后,后面进入src后make即可,编译后文件在src\build\MICROBIT.hex
5.添加自己的库文件
版本号信息:src\codal_port\mpconfigport.h line 99-102
添加需要编译的文件:src\codal_port\Makefile line 91
添加自己的写的库文件:src\codal_port\mpconfigport.h line 117-131
添加Q定义接口,此文件为外部调用的接口:src\codal_port\qstrdefsport.h 44
Q接口自动更新(这个文件不用改):src\codal_port\build\genhdr\qstrdefs.generated.h
库编写注意事项:
1、V2版本的iic通讯必须写结束位,复制单片机接收不到结束位。
2、硬件操作可调用microbithal.h。
3、基本调用的库包括。
#include "microbithal.h"
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include "modmicrobit.h"
#include "py/mphal.h"
#include "py/runtime0.h"
#include "py/runtime.h"
#include "extmod/machine_pulse.h"
#include "mpconfigport.h"
#include "py/mpprint.h"
#include "drv_display.h"