micropython stm32f401_在STM32F401RE(小钢炮CANNON开发板)移植MicroPython
首先在树莓派下载并安装gcc编译器。 sudo apt-get install gcc
sudo apt-get install gcc-arm-none-eabi
下载MicroPython源码(https://github.com/micropython/micropython)解压到/home/pi/micropython-master。
下载stm32的hal库文件(https://github.com/micropython/stm32lib/tree/668d7a9e54aea98f8fe8a858eac1d3daa80fa824),复制解压后的库文件到/home/pi/micropython-master/lib/stm32lib。
打开/home/pi/micropython-master/ports/stm32/boards文件夹,新建CANNON文件夹,复制NUCLEO_F401RE下全部文件到CANNON。 cd /home/pi/micropython-master/ports/stm32/boards
sudo mkdir CANNON
sudo cp NUCLEO_F401RE/* CANNON/
进入/home/pi/micropython-master/mpy-cross文件夹,执行编译make. cd /home/pi/micropython-master/mpy-cross
make
进入/home/pi/micropython-master/ports/stm32文件夹,执行编译sudo make BOARD=CANNON。 cd /home/pi/micropython-master/ports/stm32
sudo make BOARD=CANNON
经过上面的操作基本编译通过产生dfu和hex文件,验证了源码文件健全无误。接下来修改小钢炮的板子参数一些配置(小钢炮和官方401开发板的配置是不一样的,这修改部分也可以在上面第4步之后进行,不过建议验证源码编译无误后在进行修改)。
修改stm32/boards/CANNON目录下stm32f4xx_hal_conf.h文件
小钢炮使用的是16M的外部晶振,
修改#define HSE_VALUE (8000000)为#define HSE_VALUE (16000000)
修改stm32/boards/CANNON目录下mpconfigboard.h文件 1.小钢炮没有用户按键,
修改#define MICROPY_HW_HAS_SWITCH (1)为#define MICROPY_HW_HAS_SWITCH (0)
2.对应晶体宏定义,
修改
#define MICROPY_HW_CLK_USE_HSI (1)
#if MICROPY_HW_CLK_USE_HSI
#define MICROPY_HW_CLK_PLLM (16)
#else
#define MICROPY_HW_CLK_PLLM (8)
#endif
为
#define MICROPY_HW_CLK_PLLM (16)
3.SPI1片选脚,
修改#define MICROPY_HW_SPI1_NSS (pin_A15)为#define MICROPY_HW_SPI1_NSS (pin_A4)
4.小钢炮只有一个用户LED(PB3)并且驱动电平与官方相反,
修改
#define MICROPY_HW_LED1 (pin_A5)
#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin))
#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin))
为
#define MICROPY_HW_LED1 (pin_B3)
#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_low(pin))
#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_high(pin))
5.添加如下宏定义:
// The pyboard has a 32kHz crystal for the RTC
#define MICROPY_HW_RTC_USE_LSE (1)
#define MICROPY_HW_RTC_USE_US (0)
#define MICROPY_HW_RTC_USE_CALOUT (1)
//A9 is used for USB VBUS detect, and A10 is used for USB_FS_ID.
// UART1 is also on PB6/7 but PB6 is tied to the Audio SCL line.
// Without board modifications, this makes UART1 unusable on this board.
#define MICROPY_HW_UART1_TX (pin_A9)
#define MICROPY_HW_UART1_RX (pin_A10)
// USB config
#define MICROPY_HW_ENABLE_USB (1)
#define MICROPY_HW_USB_FS (1)
修改stm32/boards/CANNON目录下pins.csv文件(文本编辑器下修改的)修改GPIO的预定义名。 修改
LED_GREEN,PA5
LED_ORANGE,PA5
LED_RED,PA5
为
LED_GREEN,PB3
LED_ORANGE,PB3
LED_RED,PB3
修改/home/pi/micropython-master/ports/stm32目录下sdcard.c文件 小钢炮的SD卡状态检测没有连接到stm32引脚上,屏蔽SD卡检测。
修改bool sdcard_is_present(void) 函数为
bool sdcard_is_present(void) {
return 1;
}
适配小钢炮板参数修改完毕,再次进入/home/pi/micropython-master/ports/stm32文件夹,执行编译sudo make BOARD=CANNON。 cd /home/pi/micropython-master/ports/stm32
sudo make BOARD=CANNON
micropython stm32f401_在STM32F401RE(小钢炮CANNON开发板)移植MicroPython相关推荐
- 在STM32F401RE(小钢炮CANNON开发板)移植MicroPython
版权声明:本文为博主原创文章,未经博主允许不得转载. 小钢炮开发板STM32F401RE的MCU支持MicroPython,手头恰好有一块.因为在众多支持MicroPython的STM32芯片中数他性 ...
- STM32H743开发板移植micropython并外扩32M的SQPI flash和32M的SDRAM
文章目录 一.搭建编译环境 二.修改源码 1.复制源码 2.修改源码 2.1修改mpconfigboard.h文件 2.2修改stm32h7xx_hal_conf.h文件 2.3修改pins.csv文 ...
- python stm32f401_NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台 开发准备: 软件:DfuSeDemo.STM32 ST-LINK Utility.虚拟串口驱动.OpenIOE. ...
- 乐鑫Esp32学习之旅 23 安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植
文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...
- arm开发板移植 curl
arm开发板移植 curl 一,下载curl源码 二,配置curl 三,移植到arm平台上 三,arm平台curl测试 一,下载curl源码 地址:https://curl.haxx.se/downl ...
- RK3399-NanoPC-T4-Android10开发板移植AAOS
基于RK3399-NanoPC-T4-Android10开发板移植AAOS工作.碰到的问题,调试思路,和修改记录整理如下. 方案一,把目前RK3399-T4开发板对应的驱动(喇叭,相机,蓝牙,LCD等 ...
- DevEBox STM32F4x1开发板 设置MicroPython STM32F401CC/TM32F411CE STM32F4x1 核心板 开发板 MicroPython
▌01 STM32F4x1开发板 STM32F401CC/TM32F411CE STM32F4x1 核心板 开发板 MicroPython .下面测试一下这款基于STM32F401的模块是否可以下载M ...
- 开发板移植RTOS操作系统,RTOS操作系统适配开发板整理大全
文章目录 一.单片机/嵌入式有无操作系统的区别 二.操作系统时的分层架构图 三.移植FreeRTOS到小熊派开发板(STM32L431RC) 1. 硬件准备 2. 下载FreeRTOS源码 2.1. ...
最新文章
- html5画布显示不出来,运行后html5画布没出来
- c++之五谷杂粮---2
- TCGA免疫浸润评价数据库,TIMER 2.0 使用指南
- Linux下PortSentry的配置
- NLB+Cluster(一)
- java 程序流程控制知识点_JAVA基础知识点梳理三:流程控制语句
- mysql 大小端_go语言中大小端模式的个人理解
- python_爬虫_模块
- hdu2084数塔----DP入门
- regexp函数 mysql_mysql 五中的REGEXP函数_mysql
- 免登陆Oracle官网下载JDK
- java.util.ConcurrentModificationException: null at java.util.ArrayList$Itr.checkForComodification(A
- 利用计算机视觉看懂病历,广东省中山市2019年九年级下册中考语文第二次模拟测试语文试题卷(二模含答案和解析).doc...
- 微信小程序 SEO 指南
- mysql执行后缀.sql_MySQL命令执行sql文件的两种方法
- Vision Transformer模型/论文详解
- 【广度优先搜索】leetcode 994. 腐烂的橘子
- linux 模块 掉线重拨,arm中实现pppd连接GPRS上网的相关笔记,含GPRS自动拨号脚本(真正的实时监控,断线自动重拨)...
- 新型肺炎疫情期间,有哪些服务免费开放?
- cbnet环境配置和运行中遇到的问题