logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

STM32 裸机时间片任务调度设计思想探讨

本文探讨了STM32裸机系统中的时间片任务调度设计方法。系统采用1ms定时器中断作为时基,通过任务控制块(TCB)管理多个任务,每个任务实现为独立的状态机。主循环轮询执行就绪任务,任务执行遵循非阻塞原则。该方案具有模块化、时间确定性强等优点,通过状态机模板和临界区保护实现稳定调度,适合对实时性有要求且不愿引入RTOS的嵌入式项目。文中详细给出了硬件定时器配置、TCB结构定义、任务状态机模板和调度器

#stm32#嵌入式硬件#单片机
STM32CubeMx配置FreeRTOS工程

本文介绍了使用STM32CubeMX配置FreeRTOS工程的注意事项和具体步骤。重点指出FreeRTOS时基源不要使用SysTick,建议切换至其他时钟源以保证时间准确性。文章对比了中断优先级和任务优先级的区别,并详细说明了FreeRTOS的特点,包括任务管理、内存管理等。配置步骤包括时基时钟源选择和FreeRTOS参数设置,通过图形化界面简化了实时操作系统的移植过程。该配置方法适用于STM32

#stm32#嵌入式硬件#单片机
使用IDE(vs code)进行嵌入式linux驱动开发

使用IDE(vs code)进行嵌入式linux驱动开发原文链接:https://blog.csdn.net/y24283648/article/details/107981315背景早期的ubuntu版本上没有好的可用的IDE,那个时候嵌入式linux驱动开发人员多使用vim进行编码;而对于没有图像界面的linux服务器,开发人员更是只能选择vim这一编辑工具。但是,接触过IDE的人会感觉到vi

#linux#ide#驱动开发
嵌入式系统硬件抽象层(HAL & BSP)的设计思想--第一部分

嵌入式系统硬件抽象层(HAL & BSP)的设计思想1 前言1.1 层次化思想1.2 模块化思想1.3 对象化思想2 板级支持包(BSP)3 嵌入式系统硬件抽象层的原理3.1 硬件抽象层的引入3.2 BSP的特点与功能3.3 BSP的设计与实现嵌入式系统初始化以及BSP的功能硬件相关的设备驱动程序3.4 设计实现BSP的方法设计实现BSP的一般方法方法一:以经典BSP为参考方法二:使用操作

#c语言#c++#mcu +2
嵌入式C语言之结构体封装函数

由于函数指针的定义和使用都在结构体内部,因此修改或调整代码时,只需要修改结构体中的函数指针定义或调用方式,而不需要修改其他部分的代码,从而使得代码更加健壮、易于维护和修改。这种方法可以将代码的复杂性分解到不同的模块中,降低了代码的耦合性,提高了代码的可读性和可维护性。更好的隐藏实现细节:结构体封装函数使得函数的实现细节被封装在结构体内部,只有结构体暴露给外部的函数指针,实现了良好的封装和信息隐藏。

文章图片
#c语言
嵌入式系统硬件抽象层(HAL & BSP)的设计思想--第二部分

嵌入式系统硬件抽象层(HAL & BSP)的设计思想--第二部分1 BSP设计实例(以STM32硬件平台为例)2 硬件抽象层设计总结2.1 模块头文件设计要点2.2 模块源文件设计要点1 BSP设计实例(以STM32硬件平台为例)2 硬件抽象层设计总结2.1 模块头文件设计要点1. 只包括数据类型的定义以及提供给外部调用的接口函数的说明。2. 一般不进行变量的定义以及硬件相关资源的说明,也

#c语言#c++#mcu +2
嵌入式Linux开发板配置静态IP

修改interfaces配置文件,普通用户interfaces文件权限只可读,首先切换到root权限。文件里添加如下信息,对应于以太网接口配置的网口信息,键盘按Esc,输入:wq 保存退出即可。

文章图片
#linux#tcp/ip#运维
Ubuntu20.04下安装VSCode(配置C/C++开发环境)和设备树插件用于嵌入式开发

vscode-icons , VSCode 图标插件,主要是资源管理器下各个文件夹的图标。用这个命令安装deb文件:sudo dpkg -i <package-name.deb>进入VSCode官网Visual Studio Code,下载deb版本。在左侧扩展商店中查找 ”chinese“选第一个安装,安装好后重启软件。在左侧扩展商店中查找 ”DeviceTree“安装,,设备树语法插件。在左侧

文章图片
#vscode#ide
MDK与git一起使用管理嵌入式软件项目

MDK与git一起使用管理嵌入式软件项目使用git管理MDK工程的忽略文件基本原理具体操作第一步:增加忽略文件第二步:生成git本地库并提交使用git管理MDK工程的忽略文件使用MDK开发stm32,RT1052等ARM MCU比较方便,但是在程序编译、连接等中间过程中会产生很多无用文件。基本原理git可指定忽略的文件类型,我们只需要将上述keilkill.bat脚本中指定删除特定扩展名的文件类型

#git
QObject::No such slot 接收者::槽函数名(参数)或QObject::connect: No such signal 发送者::信号名(参数)

正确格式:connect(form,SIGNAL(sendListGot(const QString)),this,SLOT(getListGot(const QString)));错误格式:connect(form,SIGNAL(sendListGot(const QString str)),this,SLOT(getListGot(const QString str)));

#qt#c++
    共 211 条
  • 1
  • 2
  • 3
  • 22
  • 请选择