[嵌入式系统-75]:RT-Thread-快速上手:正点原子探索者 STM32F407示例

目录

正点原子探索者 STM32F407 上手指南

1. 简介

2. 准备工作

3. 运行第一个示例程序

3.1 编译下载

3.2 运行

继续学习


正点原子探索者 STM32F407 上手指南

1. 简介

探索者 STM32F407 是正点原子推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 168Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F407 的芯片性能。

开发板外观如下图所示:

board

该开发板常用 板载资源 如下:

  • MCU:STM32F407ZGT6,主频 168MHz,1024KB FLASH ,192KB RAM
    • 外部 RAM:IS62WV51216(1MB)
    • 外部 FLASH:W25Q128(SPI,16MB)
    • 常用外设
    • LED:2个,DS0(红色,PB1),DS1(绿色,PB0)
    • 按键,4个,KEY_UP(兼具唤醒功能,PIN:0),K0(PIN:68),K1(PIN:67),K2(PIN:66)
    • 常用接口:USB 转串口、SD 卡接口、以太网接口、LCD 接口、USB SLAVE、USB HOST
    • 调试接口,标准 JTAG/SWD

开发板更多详细信息请参考 正点原子官方品牌店宝贝介绍。

2. 准备工作

正点原子探索者 STM32F407 板级支持包提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境,下面以 MDK5 开发环境为例,介绍如何快速地将示例程序运行起来

MDK(Microcontroller Development Kit)和IAR(IAR Embedded Workbench)是两种不同的嵌入式系统开发工具链。这些工具链为嵌入式软件开发者提供了从项目创建、代码编写、编译链接、仿真调试到最终程序烧录一整套解决方案

  1. MDK4和MDK5

    • MDK源自德国的KEIL公司,是RealView MDK的简称,被广泛用于基于ARM的微控制器的嵌入式应用程序开发。MDK4和MDK5是MDK的不同版本,其中MDK5是较新的版本。
    • MDK5集成了编译器、调试器、仿真器和系统分析等工具,提供了全面的开发环境。它具有优秀的代码优化能力,可以生成高效、紧凑的目标代码。MDK5的用户界面更加现代化和直观,使得开发者能够更轻松地使用和导航工具。此外,MDK5还加强了针对Cortex-M微控制器开发的支持,并对传统的开发模式和界面进行了升级。
    • 在MDK5中,Software Packs(包安装器)分为Device(芯片支持)、CMSIS(ARM Cortex微控制器软件接口标准)和Middleware(中间库)三个小部分。通过包安装器,开发者可以安装最新的组件,以支持新的器件、提供新的设备驱动库以及最新例程等,从而加速产品开发进度。
    • 需要注意的是,MDK5向后兼容MDK4和MDK3等,以前的项目同样可以在MDK5上进行开发(但可能需要手动添加一些头文件)。
  2. IAR

    • IAR Embedded Workbench是IAR Systems公司提供的开发工具链,支持众多知名半导体公司的微处理器。许多全球著名的公司都在使用IAR提供的开发工具来开发他们的前沿产品。
    • IAR Embedded Workbench同样是一个集成了编译器、调试器、仿真器等工具的开发环境,提供了完整的嵌入式系统开发解决方案。

至于“MDK4、MDK5和IAR工程”的具体含义,这里的“工程”通常指的是在MDK或IAR开发环境中创建的一个具体项目或应用程序。这些工程包含了项目的所有源代码、配置文件、依赖项以及开发过程中所需的其他资源。开发者可以在这些工具中创建、编辑、编译、调试和烧录这些工程,以实现他们的嵌入式应用程序。

运行示例程序前需要做如下准备工作:

  1. MDK 开发环境

    需要安装 MDK-ARM 5.24 (正式版或评估版,5.14 版本及以上版本均可),这个版本也是当前比较新的版本,它能够提供相对比较完善的调试功能。安装方法可以参考 Keil MDK 安装。

  2. 源码获取

    GitHub - RT-Thread/rt-thread: RT-Thread is an open source IoT real-time operating system (RTOS).

    源码目录说明

  3. 使用 Mini USB 线连接开发板的 USB 转串口 到 PC 机 =》 调试终端。

    连接到 PC

3. 运行第一个示例程序

3.1 编译下载

进入到 rt-thread\bsp\stm32\stm32f407-atk-explorer 文件夹中,双击 project.uvprojx 文件,打开 MDK5 工程。

工程目录

(1)执行编译

(2)编译完成后,点击下载按钮将固件下载至开发板,

(3)下载完成后,程序会自动开始运行,观察程序运行状况。

提示:工程默认配置使用 JLink 下载程序,在通过 JLink 连接开发板的基础上,点击下载按钮即可下载程序到开发板

编译下载方法

3.2 运行

如没有自动运行,按下复位按键重启开发板,观察开发板上 LED 的实际效果。

正常运行后,LED 灯会周期性闪烁,如下图所示:

run

连接开发板对应串口到 PC , 在串口工具里打开相应的串口(115200-8-1-N) ,复位设备后,可以看到 RT-Thread 的输出信息:

提示:注:正点原子一键下载电路和终端工具冲突,在使用终端工具如:PuTTy、XShell 时,会出现系统不能启动的问题,推荐使用串口调试助手如:sscom

 \ | /
- RT -     Thread Operating System/ | \     3.1.1 build Nov 19 20182006 - 2018 Copyright by rt-thread team
msh >复制错误复制成功

继续学习

已完成 RT-Thread 快速上手!点击这里进行 内核学习 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关键点检测——面部情绪数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

算法提高之字串变换

算法提高之字串变换 核心思想&#xff1a;双向广搜 双向bfs 建立两个队列 一起bfs到中间态 #include <iostream>#include <cstring>#include <algorithm>#include <queue>#include <unordered_map>using namespace std;const int N 6;int n;…

【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第6章 安装Samba

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

【数据结构】顺序表(一)

✨✨✨专栏&#xff1a;数据结构 &#x1f9d1;‍&#x1f393;个人主页&#xff1a;SWsunlight 不怕别人看不起&#xff0c;就怕自己不争气。路是人走出来的&#xff0c;关键要靠自己闯。振作起来&#xff0c;生活的含义就是前进。 目录 一、顺序表的概念&#xff1a; 二…

SQLite性能测试(插入)

最近一直在思考一个问题&#xff0c;SQLite 做到这么轻量级&#xff0c;那它注定不会像 MySql 一样强性能&#xff0c;那么它的性能怎么样呢&#xff1f;并发量多高呢&#xff1f; 官方解释&#xff1a; About SQLite 最大数据库大小&#xff1a;281TB 最大行大小&#xff1…

音视频--AAC编码解析和示例

目录 1&#xff1a;AAC编码介绍 2&#xff1a;AAC格式介绍 3&#xff1a;AAC -ADTS帧组成 4&#xff1a;AAC-ADTS&#xff1a;&#xff08;adts_fixed_header&#xff09;格式介绍 5&#xff1a;AAC-ADTS&#xff1a;&#xff08;adts_variable_header&#xff09;格式介绍…

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准&#xff0c;其值为1&#xff0c;否则未定义 这些预定义符号都是语言内置的 我们…

类和对象中篇

类的六个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。空类中什么都没有吗&#xff1f;并不是的&#xff0c;任何一个类在我们不写的情况下&#xff0c;都会自动生成下面6个默认成员函数 ①初始化和清理&#xff1a;构造函数和析构函数 ②拷贝复制&#x…

Linux——信号量

什么是信号量&#xff1f; 信号量是用来用于同步和互斥的。其实就是一个计数器&#xff0c;进行PV操作&#xff0c;其中P操作就是让计数器–&#xff0c;V操作就是让计数器。 从物理上说明信号量的P、V操作的含义。 P(S)表示申请一个资源&#xff0c;S.value>0表示有资源可…

OBS插件--复合模糊

复合模糊 复合是一款滤镜插件&#xff0c;支持多种模糊类型和多种蒙版效果。支持模糊源的部分显示区域&#xff0c;可以反选区域进行模糊&#xff0c;这个功能对于场景部分区域需要遮盖非常实用。 下面截图演示下操作步骤&#xff1a; 首先&#xff0c;打开 OBS直播助手 在…

【Unity 鼠标输入检测】

Unity 鼠标输入检测 Unity提供了多种方法来检测和处理鼠标输入&#xff0c;允许开发者在游戏中实现对鼠标移动、点击和滚轮滚动的响应。以下是一些基本的鼠标输入检测方法&#xff1a; 1. Input.mousePosition 这个属性返回当前鼠标指针的屏幕坐标。坐标是以像素为单位的&…

【吊打面试官系列】Java高并发篇 - 同步方法和同步块,哪个是更好的选择?

大家好&#xff0c;我是锋哥。今天分享关于 【同步方法和同步块&#xff0c;哪个是更好的选择&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 同步方法和同步块&#xff0c;哪个是更好的选择&#xff1f; 同步块是更好的选择&#xff0c;因为它不会锁住整个对象…

临近空间相关概念

临近空间概念 距地 20KM-100KM 的临近空间位于内外层空间之中&#xff0c;也称为 超高空、近空间、亚轨道等。 特点就是&#xff1a;纵跨 非电离层和电离层、空气稀薄&#xff0c;存在 臭氧、紫外、辐射等特殊环境 存在 重力波、行星波、大气放电等特殊现象。 临近空间高速飞…

##15 探索高级数据增强技术以提高模型泛化能力

文章目录 前言数据增强的重要性常见的数据增强技术高级数据增强技术在PyTorch中实现数据增强结论 前言 在深度学习领域&#xff0c;数据增强是一种有效的技术&#xff0c;它可以通过在原始数据上应用一系列变换来生成新的训练样本&#xff0c;从而增加数据的多样性&#xff0c…

前端 | 易混词卡片切换

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;javascript &#x1f4da;实现效果 绘制单词卡片效果&#xff0c;实现点击左半部分上翻&#xff0c;点击右半部分下翻。 &#x1f4da;模块实现解析 &#x1f407;…

品鉴中的个人风格:如何形成自己与众不同的红酒品鉴体验

品鉴云仓酒庄雷盛红酒不仅是一种感官体验&#xff0c;更是一种个人风格的展现。每个人都有自己与众不同的品味和偏好&#xff0c;通过品鉴红酒&#xff0c;我们可以形成自己与众不同的红酒品鉴体验。 要形成自己与众不同的红酒品鉴体验&#xff0c;首先需要勇于尝试不同类型的红…

C++语法之在谈const与模版参数

最近一直在复习C的语法&#xff0c;感觉遇到了不少问题&#xff0c;或许是之前没想的这么深。废话不说&#xff0c;开始说正事。 一、再谈const 有些朋友可能有些疑问&#xff0c;不就是const吗&#xff1f;我知道&#xff0c;const可以给非const赋值&#xff0c;反过来不行&…

通过mvn archetype 创建一个spring boot start 工程

mvn archetype https://maven.apache.org/archetype/index.html 遇到的问题 对于想自定义一个spring-boot-start的同学,比如 Springboot自定义Starter启动器 整个过程很繁琐。 定义属性开关增加 spring boot test start插件定义自动装载 spring.factories or org.springfra…

javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决

起因&#xff1a; 在帮别人讲解项目时&#xff0c;将项目的tomcat配置完&#xff0c;点击运行后&#xff0c;报错&#xff0c;信息如标题。 解决办法&#xff1a; 在csdn百度问题&#xff0c;得到的方法主要有几个&#xff1a; 1.jdk要配置在1.8以上&#xff1b; 2.数据库地…

Stable Diffusion是什么?

目录 一、Stable Diffusion是什么&#xff1f; 二、Stable Diffusion的基本原理 三、Stable Diffusion有哪些运用领域&#xff1f; 一、Stable Diffusion是什么&#xff1f; Stable Diffusion是一个先进的人工智能图像生成模型&#xff0c;它能够根据文本描述创造出高质量的图…