STM32
文章平均质量分 83
Cautious 自知
这个作者很懒,什么都没留下…
展开
-
STM32F407连接J-LINK
核心板J-LINK。原创 2024-07-15 11:33:20 · 119 阅读 · 0 评论 -
启动文件的介绍
启动文件由汇编编写,是系统上电复位后第一个执行的程序。启动文件主要做了以下工作: 即main函数之前要完成如下步骤:1、初始化堆栈指针 SP = _initial_sp2、初始化程序计数器指针 PC = Reset_Handler3、设置堆和栈的大小4、初始化中断向量表5、配置外部 SRAM 作为数据存储器(可选)6、配置系统时钟,通过调用 SystemInit 函数(可选)7、调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数。原创 2024-07-10 17:00:56 · 1145 阅读 · 0 评论 -
keil生成的.map文件
上图中,红框框出的部分:main.o(i.main) refers to sys.o(i.sys_stm32_clock_init) for sys_stm32_clock_init,表示:main.c文件中的main函数,调用了sys.c中的sys_stm32_clock_init 函数。最大地址范围为:0X0002 0000。图中红框框处部分,表示 sys.c 文件中的 sys_stm32_clock_init 函数的入口地址为: 0x08002bc8,类型为:Section(程序段),大小为 0。原创 2024-07-10 12:30:00 · 748 阅读 · 0 评论 -
OTA的内容
OTA全称“Over-The-Air”,即空中下载技术,早期被广泛应 用在手机行业中,终结了手机软件升级需要连接电脑、下载软件、 再安装更新的繁复操作。OTA升级:通过OTA方式实现固件或软件的升级。只要是通过无线通信方式实现升级的,都可以叫OTA升级,比如网 络/蓝牙。通过有线方式进行升级,叫本地升级,比如通过UART,USB或者 SPI通信接口来升级设备固件。原创 2024-07-08 22:29:05 · 582 阅读 · 0 评论 -
USART-Timer面向对象的思想
这点非常重要,因为开发初期,可能开发者根本不知道该 ARM 器件上有什么输入输出设备,而半主基机制使得你不用知道ARM器件的外设,利用主机电脑的外设就可以实现输入输出调试。/*为确保没有从 C 库链接使用半主机的函数,因为不使用半主机,标准 C 库 stdio.h 中有些使用半主机的函数要重新写 ,您必须为这些函数提供自己的实现。半主机是这么一种机制,它使得在ARM目标上跑的代码,如果主机电脑运行了调试器,那么该代码可以使用该主机电脑的输入输出设备。如果仍然链接了使用半主机的函数,则链接器会报告错误。原创 2024-07-09 09:15:00 · 1020 阅读 · 0 评论 -
FreeRTOS
队列是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递信息,实现了任务接收来自其他任务或中断的不固定长度的消息(而这个消息可以是任意类型的数据),任务能够从队列里面读取消息,也能够向队列发送消息。队列可以被多个任务读、也可以被多个任务写,但要防止同一时刻被多个任务访问(多进程/多线程(多任务)对共享变量的并发访问)只有两个值的计数信号量。计数值信号量是长度大于0的队列,计数值信号量常用于事件计数、资源管理,其实如果限定计数信号量计数值最大值只能为1则就等同于二值信号量。原创 2024-07-08 22:02:37 · 1249 阅读 · 0 评论 -
HC-05蓝牙模块
引脚多的时候的定义//使用枚举来表示状态//枚举HC05_COUNT//由于本次实验需要四个引脚,所以用数组;不然得四个引脚//缓冲区总的长度//接受AT指令的缓冲区也可以这样定义://类似于哈希映射HC05_COUNT这段代码定义了一个枚举类型`HC05Pin_t`,用于清晰、安全地表示与HC05蓝牙模块相关的引脚。枚举(enumeration)是一种整型数据类型,它可以有几个预定义的命名整数常量。原创 2024-07-08 21:59:40 · 1059 阅读 · 0 评论