使用CubeMx的原因笔者大学期间一直从事嵌入式项目的开发工作,并且参加了嵌入式相关的比赛如全国大学生智能汽车竞赛等,并取得了一定的成绩。在从事嵌入式开发的过程中, 我发现意法半导体公司推出的微控制器STM32系列,中文资料非常多,官方提供的软硬件支持也很多,十分利于开发。我的STM32之旅是从正点原子的STM32战舰开发板开始的,它搭载了一颗Cortex-M3内核的芯片,正点原子提供的资料也非常
CubeMX配置PWR电源管理前言一、什么是PWR?1.电源系统2.电源监控器3.电源管理二、实验过程1.STM32CubeMX配置2.代码实现SLEEP_MODE模式实验结果STOP_MODE模式实验结果STANDBY_MODE模式总结 前言本章介绍使用STM32CubeMX对PWR进行配置的方法,PWR的原理、概念特点,配置各个步骤的功能,并通过实验方式实现展示结果。一、什么是PWR?电源
很多朋友问我这个问题,也抱怨GNU工具链不如集成开发环境好用。如IAR Workbench、Keil、RVDS等。并不理解,为什么RTEMS死磕GNU的工具链。这里其实有很多原因,有一些是我猜测的,有一些是既定的事实。下面就聊聊这些原因:1. 首先,RTEMS 从上个世纪80年代末开始开发。那时候,还没有这么牛叉的集成开发环境;GNU的工具链应该是当时不二的选择。2. RTEMS作为一个开源免费的
keil5软件仿真及调试:1. keil5软件仿真及调试 定时器:1. STM32-定时器详解3. STM32CubeMX—PWM波输出实验3.FreeRtos:1.STM32CubeMX FreeRTOS堆栈分配、调试技巧:stm32cubemx配置:  或者:  使用方法:uint16_t task1_ram_availa
fread() 函数用来从指定文件中读取块数据。所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制。fread() 的原型为:size_t fread ( void *ptr, size_t size, size_t count, FILE *fp );fwrite() 函数用来向文件中写入块数据,它的原型为:size_t fwrite ( voi
1、文件系统简介FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统 由 ANSI C 语言编写并且完全独立于底层的 I/O 介质 ,因此它可以很容易地不加修改地移植到其他的处理器当中,如 8051、 PIC、 AVR、 SH、 Z80、 H8、 ARM 等。 FatFs 支持 FAT12、 FAT16、FAT32 等格式。在移植 FatFs 文件系统到开发板之前,我们先要到
知道了CUDA编程基础,我们就来个简单的实战:利用CUDA编程实现两个向量的加法。在实现之前,先简单介绍一下CUDA编程中内存管理API。首先是在device上分配内存的cudaMalloc函数。cudaError_t cudaMalloc(void** devPtr, size_t size);这个函数C语言中的malloc类似,但是在device上申请一定字节大小的显存,其中devPtr是指
目录准备工具建立CubeMX工程VsCode搭建工程环境 准备工具CubeMX(需要java环境)Vscode(在里面安装LoTlink插件,也就是华为的lietos插件)Jlink(版本新一点比较好)建立CubeMX工程新建一个裸机工程 点击这个选项,如果没有安装RTThread软件包,先点击Manage那个安装, 具体怎么安装看这个RTThread官方文档链接 选择RTThread软件包,两
转载 2024-10-04 13:04:29
82阅读
一、内存管理简介FreeRTOS创建任务、队列、信号量等的时候有两种方法,一种是动态的申请所需的RAM。一种是由用户自行定义所需的RAM,这种方法也叫静态方法,使用静态方法的函数一般以"Static"结尾,比如任务创建函数xTaskCreateStatic(),使用此函数创建任务的时候需要由用户 定义任务堆栈。使用动态内存管理的时候FreeRTOS内核在创建任务、队列、信号量的时候会动态的申请RA
转载 2024-08-26 22:22:26
91阅读
通过cubemx配置 实现STM32H7 SDMMC+FATFS+USBMSC 虚拟U盘1.实验目的使用FAFTS文件操作系统,实现STM32虚拟U盘,读写外部SD卡2.实验平台硬件平台:正点原子阿波罗 STM32H734IIT6 开发工具:STM32CubeIDE 1.12.0 HAL库:STM32Cube FW_H7 V1.11.03.CubeMX配置(1)配置SDMMC GPIO都是默认引脚
转载 2024-07-19 07:28:32
1650阅读
STM32中 FatFS移植 http://www.amobbs.com/forum.php?mod=viewthread&tid=5464257&highlight=STM32%2BFatFS%2B%E7%A7%BB%E6%A4%8D%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB前言与废话       
目录#下载安装      #配置生成代码     #硬件在线调试。1   写在前面2   STM32CubeIDE介绍主要特点:3  STM32CubeIDE下载4  STM32CubeMX安装5创建工程并编译#下载安装      #配置生成代码&n
一.写在前面的话: 嵌入式设计中使用 RTOS 必然会带来额外的 RAM 消耗,然而许多初次接触 RTOS 的工程师并不清楚 如何评估 RAM 的消耗量。这篇文档以 FreeRTOS 为例,介绍评估 RAM 使用情况的一般方法,并给出 在 FreeRTOS 下优化 RAM 使用的方法,也由衷的期望读者在使用其他 RTOS 时,可以通过相似的思 路来解决问题。二.FREERTOS RA
前面三节已经对CUDA做了一个简单的介绍,这一节开始真正进入编程环节。首先,初学者应该对自己使用的设备有较为扎实的理解掌握,这样对后面学习并行程序优化很有帮助,了解硬件详细参数可以通过上节介绍的几本书官方资料获得,但如果仍然觉得不够直观,那么我们可以自己动手获得这些内容。 以第二节例程为模板,我们稍加改动的部分代码如下:// Add vectors in parallel.
背景freertos的定时器与我所见得到其他RTOS不一样,我知道的ucosii是在每次tick++的时候会检查定时器链表,smc_rtos也是这样做的,rtt没看过源码不清楚,而freertos是将定时器实现为一个prvTimerTask。代码分析freertos是将定时器实现为一个prvTimerTask,一般如果定时n个tick,就会将prvTimerTask阻塞n个tick,但是同时加入x
转载 9月前
96阅读
1、多任务系统中互斥的引入为什么裸机程序就不用考虑互斥问题呢?假设有一个变量,因为裸机程序都是一个函数一个函数轮流执行的,因此变量不会在某个时刻被多个函数同时访问。而多任务系统可以看作是同时运行的,一个变量可能会被多个任务同时访问。没有引入freertos时,a的值经过两个函数后变为2。 引入FREERTOS后, 假设任务a任务b都需要在自己的任务里面访问a变量,将a变量加1
Stm32文件系统FATFS参考资料主要是原子野火两家的讲解。1.FATFS简介:适合嵌入式小型单片机,是一个 独立 的软件层文件系统,我们只需要将底层硬件的读取函数移植到FATFS提供的向下的接口(Media Access Interface),完成之后,就可以像电脑一样使用文件的操作函数(FATFS提供的向上的供我们使用的API函数 (Application Interface) )。FAF
转载 8月前
344阅读
在day22章节的基础上添加FatFs模块:在本章的末尾会附上所有的代码运行原理:方便代码移植,调用底层接口函数:f_mount(),此函数在ff.c文件中 工程结构: 1、去FatFs文件系统官网下载文件系统库函数源码:http://elm-chan.org/fsw/ff/00index_e.html2、解压后3、新建工程,在User目录下创建文件夹,命名为fatfs,拷贝2
转载 6月前
77阅读
vue-compiler-sfc主要是用来解析SFC组件,我们都知道,一个SFC(*.vue)文件三大要素是template、script、style,vue-compiler-sfc就是负责解析这三大要素。从源码src目录下,每个文件的命名大致就可以看出来各个文件的作用,我先从 compiler-sfc 的 index.ts 开始。(最近看源码深有感触的是,官文只是在说要怎么做,看了源码才知道为
转载 2月前
416阅读
**开发平台** : 正点原子 探索者STM32F407ZET6 cube mx:V 5.1.0 keil uVision5项目地址:https://github.com/liliang1918/STM32LL注意: 本教程默认读者已经对stm32cubemx软件有一定了解; 为节省篇幅,详细配置cubemx的步骤仅在此篇中说明,以后仅会简略介绍配置相关内容。STM32LL库系列教
  • 1
  • 2
  • 3
  • 4
  • 5