当前位置: 首页 > news >正文

您的域名因未取得工信部网站备案号电子商务网站规划与设计试题

您的域名因未取得工信部网站备案号,电子商务网站规划与设计试题,seo全网图文推广,电商网站有哪些功能模块基于 [野火]《FreeRTOS%20内核实现与应用开发实战—基于STM32》 正点原子《STM32F429FreeRTOS开发手册_V1.2》 准备 基础工程#xff0c;例如点灯 FreeRTOS 系统源码 FreeRTOS 移植 上一章节已经说明了Free RTOS的源码文件在移植时所需要的#xff0c;FreeRTOS 为我们提供…基于 [野火®]《FreeRTOS%20内核实现与应用开发实战—基于STM32》 正点原子《STM32F429FreeRTOS开发手册_V1.2》 准备 基础工程例如点灯 FreeRTOS 系统源码 FreeRTOS 移植 上一章节已经说明了Free RTOS的源码文件在移植时所需要的FreeRTOS 为我们提供了cortex-m0、m3、m4 和 m7 等内核的单片机的接口文件只要是使用了这些内核的 mcu 都可以使用里面的接口文件。通常网络上出现的叫“移植某某某RTOS 到某某某 MCU”的教程其实准确来说不能够叫移植应该叫使用官方的移植因为这些跟硬件相关的接口文件RTOS 官方都已经写好了我们只是使用而已。我们本章讲的移植也是使用 FreeRTOS 官方的移植关于这些底层的移植文件之后再说。 上一章节已经提过移植所需要的文件只需要留下我们需要的就行 portable 文件夹中只需要留下keil、MemMang 和 RVDS这三个文件夹。 向工程中添加相应文件 1.复制添加 FreeRTOS 源码 在keil文件中编译文件之前我们需要有这些文件所以需要从官网下载的源码中复制这些文件到我们作为例子的工程文件夹下。 在基础工程中新建一个名为 FreeRTOS 的文件夹 1.在“FreeRTOSv9.0.0\FreeRTOS\Source”目录下找到所有的‘.c 文件’将它们拷贝到我们新建的 src 文件夹中。 2.打开 FreeRTOS V9.0.0 源码在“FreeRTOSv9.0.0\FreeRTOS\Source\portable”目录下找到“MemMang”文件夹与“RVDS”文件夹将它们拷贝到我们新建的port 文件夹中 3.在“FreeRTOSv9.0.0\ FreeRTOS\Source”目录下找到“include”文件夹这是头文件包含了FreeRTOS提供的API函数。现在我们的FreeRTOS文件夹下有这么三个文件夹了。 2.在keil工程中添加文件 在上一步我们只是将 FreeRTOS 的源码放到了本地工程目录下源码复制到我们工程之后还需要再keil中添加才能使用 打开基础工程新建分组 FreeRTOS_CORE 和 FreeRTOS_PORTABLE然后向这两个分组中添加文件。 FreeRTOS_CORE:文件来自FreeRTOS 的源码中的.c文件 FreeRTOS_PORTABLE:该文件夹下有 port.c 和 heap_4.c两个文件。   port.c 是 RVDS 文件夹下的 ARM_CM4F 中的文件因为 STM32F429 是 Cortex-M4 内核并且带有 FPU因此要选择 ARM_CM4F 中的 port.c 文件。也就是说需要根据不同的MCU选择不同的硬件接口文件。   heap_4.c 是 MemMang 文件夹中跟内存管理相关的文件MemMang 文件夹中共有 5 个 c 文件heap_1.c、heap_2.c、heap_3.c、heap_4.c 和 heap_5.c使用任意一个都可以。这里我们选择heap_4.c 3.添加相应的头文件路径 添加完 FreeRTOS 源码中的 C 文件以后还要添加 FreeRTOS 源码的头文件路径头文件路径。 4.解决编译时的一些问题 1.编译时发现无法打开“FreeRTOSConfig.h”这个文件 可以在Free RTOS对stm32F407移植的Demo中找到文件夹是CORTEX_M4F_STM32F407ZG-SK复制到工程中去路径随意我为了方便放到了 FreeRTOS 源码中的 include 文件夹下。 FreeRTOSConfig.h 是 FreeRTOS 的配置文件一般的操作系统都有裁剪、配置功能而这些裁剪及配置都是通过一个文件来完成的基本都是通过宏定义来完成对系统的配置和裁剪的. 移植FATFS文件系统的时候也有类似的配置文件。 2.再编译一次发现SystemCoreClock 未定义错误。这是因为在 FreeRTOSConfig.h 中使用到了SystemCoreClock 来标记 MCU 的频率。而这里的定义是有条件的。 但是这边是条件预编译条件是 #ifdef __ICCARM__#include stdint.hextern uint32_t SystemCoreClock; #endif需要修改这个条件编译修改后的代码如下 #if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)#include stdint.hextern uint32_t SystemCoreClock; #endif3.未定义的Hook函数钩子函数这是因为在FreeRTOSConfig.h中开启了这些钩子函数但是却没有定义这些钩子函数而导致的在 FreeRTOSConfig.h 中关闭这些钩子函数就行了将 宏 configUSE_IDLE_HOOK 、 configUSE_TICK_HOOK 、configUSE_MALLOC_FAILED_HOOK 和 configCHECK_FOR_STACK_OVERFLOW 定义为 0。 5.FreeRTOSConfig.h头文件修改 之前也说过了FreeRTOSConfig.h文件可以添加在工程中任意文件夹只需要在路径中添加好了就行。该头文件对裁剪整个FreeRTOS 所需的功能的宏均做了定义。 这边是野火电子添加注释版本的FreeRTOSConfig.h添加了一些中文注释并且把相关的头文件进行分类方便查找宏定义已经阅读详见[野火®]《FreeRTOS%20内核实现与应用开发实战—基于STM32》.pdf (1)代码清单中的这类标号在[野火®]《FreeRTOS%20内核实现与应用开发实战—基于STM32》.pdf有具体说明 一般来说参照官方DEMO中的文件就可以了 FreeRTOSConfig.h 头文件的内容修改的不多具体是修改与对应开发板的头文件 如果是使用 STM32F1 则包含 F1 的头文件#include “stm32f10x.h”同理是使用了其它系列则包含对应的头文件即可。 6.修改 stm32f10x_it.c防止重复定义 FreeRTOS 所有跟时间相关的事情都在SysTick 中断服务函数中处理。也就是FreeRTOS 的心跳。 PendSV_Handler()、SVC_Handler()和 Systick_Handler()三个中断处理函数重复定义这是因为 port.c 和 stm32f4xx_it.c 这两个文件中有重复定义的函数。这里屏蔽掉 stm32f4xx_it.c 中的 PendSV_Handler()、SVC_Handler()和 Systick_Handler()这三个函数。 或者 屏蔽 PendSV_Handler()、SVC_Handler()两个重复定义的中断处理函数重写SysTick_Handler()函数 //systick 中断服务函数 void SysTick_Handler(void) { #if (INCLUDE_xTaskGetSchedulerState 1 ) if (xTaskGetSchedulerState() ! taskSCHEDULER_NOT_STARTED) { #endif /* INCLUDE_xTaskGetSchedulerState */ xPortSysTickHandler(); #if (INCLUDE_xTaskGetSchedulerState 1 ) } #endif /* INCLUDE_xTaskGetSchedulerState */ } 7.修改 main.c #include FreeRTOS.h #include task.hint main(void){/* 暂时没有在 main 任务里面创建任务应用任务 */}
http://icebutterfly214.com/news/67363/

相关文章:

  • 2025 最新推荐黄金麻实力厂家排行榜:涵盖全品类加工 + 出口级品质,助力工程采购精准选型黄金麻蘑菇石/黄金麻自然面/黄金麻地铺石/黄金麻火烧板/黄金麻地铺板/黄金麻仿古石公司推荐
  • 2025北京留学机构哪家好
  • 基于DCT的彩色图像压缩MATLAB实现
  • 2025年钕磁铁优质厂家权威推荐榜单:异型磁铁‌/编码器磁铁‌/传感器磁铁‌源头厂家精选
  • 2025年浙江汽车零部件网站建设公司权威推荐榜单:独立站建设‌/学校网站建设‌/网页设计‌源头公司精选
  • 2025 最新模板厂家权威推荐榜:塑钢 / 水沟 / 现浇等多类型模板优质厂家深度测评水池 / 方墩 / 框格梁 / 菜地沟 / 挡土墙模板推荐
  • 2025 年电缆桥架厂家最新推荐排行榜:甄选不锈钢铝合金热镀锌等优质类型,8 大靠谱厂家企业权威推荐热镀锌 / 热浸锌 / 托盘式 / 防火喷塑 / 大跨距电缆桥架公司推荐
  • 时序数据库 IoTDB 集成 SpringBoot Starter,实现时序数据库“零配置”接入
  • 鼠标位置
  • 2025年评价高的穿梭式货架立体库最新TOP品牌厂家排行
  • 2025年CNC加工中心/零件/模具/龙门/五轴/精密加工厂家推荐拓智者科技
  • 2025年气流流型检测仪厂家权威推荐榜单:灌装机气流流型检测仪‌/气流流型验证服务‌/烟雾发生器‌源头厂家精选
  • 2025年知名的瓶盖高速注塑机用户好评厂家排行
  • 2025 年 11 月漏水檢測服務權威推薦榜:精準無損聲學/紅外/超聲波技術,涵蓋管道/地暖/屋頂室內外全方位檢測服務
  • 2025铣床/立式铣床/摇臂铣床厂家推荐拓智者科技,精密高效加工首选
  • Welcart电商插件授权漏洞导致未授权信息泄露
  • 目视化设计公司哪家好,2025目视化设计公司权威榜单
  • 2025广东科技项目申报咨询机构哪家好?综合实力榜单
  • ElementUI
  • huggingface 仓库申请权限失败 (换 modelscope)
  • KEYDIY Toyota 8A (BA) 4A All-Lost Adapter Cable: Simplify Key Replacement for Mechanics Car Owners
  • 实验 3
  • 2025年11月PE管材设备,PPR管材设备,PVC管材设备厂商推荐:聚焦管材机械企业综合实力与核心技术
  • 2025年11月钢结构地脚螺栓,9字型地脚螺栓,地脚螺栓厂家优选,工业级品质与工程案例实景呈现!
  • 2025年11月自动诊断测振仪,振动分析测振仪,计量测振仪厂家品牌推荐,工业级测振设备技术实力彰显
  • 2025年11月火花机,三轴联动火花机,五轴联动火花机公司推荐,金属加工设备权威测评与采购攻略!
  • 2025年11月不锈钢T型螺栓,地铁专用T型螺栓,管片T型螺栓厂家权威推荐,耐用性与性价比解析!
  • 第36天(中等题 数据结构)
  • Save Time Money: KEYDIY KD NB22-4 Universal 4-Button Remote (5pcs/lot) for Euro/American Cars
  • 计算机网络—TCP和UDP