会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
流水灯
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
38
39
40
41
42
43
44
45
46
···
109
下一页
2021年6月10日
STM32 CM3/CM4 ------ startup.s 启动文件分析 ------ GCC RT-Thread Studio 版本
摘要: startup.s 功能 startup.s 文件定义了向量表,包含栈初始值和各个中断服务函数指针。 芯片一上电,自动设置SP,PC,然后执行复位中断: 设置栈顶寄存器的值 多余,芯片一上电自动设置了 data段的数据从 flash 拷贝到 SRAM bss段位于SRAM,初始化为0 执行 Syst
阅读全文
posted @ 2021-06-10 14:20 流水灯
阅读(2118)
评论(0)
推荐(0)
2021年6月8日
__attribute__之section详解 ------ 把函数指定到具体某个section 之 RT-thread 实例详解
摘要: typedef int (*init_fn_t)(void);#define RT_USED __attribute__((used))#define INIT_EXPORT(fn, level) RT_USED const init_fn_t __rt_init_##fn SECTION(".rt
阅读全文
posted @ 2021-06-08 17:54 流水灯
阅读(2605)
评论(0)
推荐(0)
2021年6月6日
STM32 CM3/CM4 ------ startup.s 文件分析 ------ IAR 版本
摘要: startup.s 功能 不同的开发环境(IAR、KEIL、GCC编译器),startup.s的内容多少有些差别,但是功能基本如下: 设置向量表,包含MSP初值,各中断函数指针 芯片一上电,自动设置SP,PC,然后执行复位中断: 执行 SystemInit,初始化时钟,设置SCB->VTOR的值为向
阅读全文
posted @ 2021-06-06 22:55 流水灯
阅读(1498)
评论(0)
推荐(1)
Cortex-M3 处理器
摘要: Cortex-M3 系列处理器是基于 ARMv7-M 架构的处理器,应用非常广泛,为了能够深入的分析在此平台上跑 RTOS 的各种细节,所以有必要写一篇关于 CM3 处理器的结构相关的文章(CM4 类似),在 OS 调度初始化、系统调用、进程调度等方面的细节均是和具体处理器息息相关,所以先让我们来看
阅读全文
posted @ 2021-06-06 21:58 流水灯
阅读(3356)
评论(0)
推荐(1)
FreeRTOS ------ prvStartFirstTask 和 vPortSVCHandler
摘要: FreeRTOS 第一次启动任务切换前,需要调用函数 vPortStartFirstTask,初始化 MSP,然后触发 SVC 的中断函数 vPortSVCHandler,中断函数执行出栈后就跳转到第一个任务的入口函数。 之后任务切换通过中断函数 xPortPendSVHandler,此函数会执行入
阅读全文
posted @ 2021-06-06 15:28 流水灯
阅读(2977)
评论(0)
推荐(0)
FreeRTOS --- 任务切换 xPortPendSVHandler
摘要: 知识点: MSP:主堆栈指针,系统复位后,默认使用MSP指针,MSP指针用于操作内核以及处理异常和中断(异常是中断的一种,中断服务程序默认强制使用MSP指针,这是硬件自动设置的) 不使用OS,非中断函数和中断函数都使用MSP PSP:进程堆栈指针,任务(进程)使用PSP指针,在vPortSVCHan
阅读全文
posted @ 2021-06-06 14:40 流水灯
阅读(1575)
评论(0)
推荐(0)
2021年6月3日
Makefile 基础
摘要: 官方文档 https://www.gnu.org/software/make/manual/make.html 目标 - 依赖文件 - 命令 目标(文件):依赖文件 命令(命令前是一个TAB键) 1、make执行的格式为:make 目标,如果不指定目标,会执行Makefile中第一个出现的没有匹配符
阅读全文
posted @ 2021-06-03 17:54 流水灯
阅读(131)
评论(0)
推荐(0)
2021年6月2日
override 作用
摘要: override指示符 通常在执行 make 时,如果通过命令行定义了一个变量,那么它将替代在 Makefile中出现的同名变量的定义。就是说,对于一个在 Makefile 中使用常规方式(使用“=”、“:=”或者“define”)定义的变量,我们可以在执行 make 时通过命令行方式重新指定这个变
阅读全文
posted @ 2021-06-02 17:41 流水灯
阅读(301)
评论(0)
推荐(0)
2021年5月31日
scanf --- ("%[^\n]", str)正则用法
摘要: 1 默认情况下 scanf 一读入空格或者换行字符就结束读入 [^\n]表示一读入换行字符就结束读入。这个是scanf的正则用法。 [^,\n]表示一读入逗号或者换行字符就结束读入。 [^,\n]读出数据后,逗号或者换行字符还在缓冲区内,如果后期以读取字符串的形式读出数据,会直接跳过逗号或者换行字符
阅读全文
posted @ 2021-05-31 22:53 流水灯
阅读(1444)
评论(0)
推荐(0)
2021年5月28日
快速幂
摘要: 题目: 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn) double myPow(double x, int n){ if(n == 0){ return 1; } unsigned int nn; double rc = 1; int flag = 1; if(n < 0){
阅读全文
posted @ 2021-05-28 16:25 流水灯
阅读(69)
评论(0)
推荐(0)
上一页
1
···
38
39
40
41
42
43
44
45
46
···
109
下一页
公告