摘要: 异常退出时的出栈 阅读全文
posted @ 2021-03-25 11:55 昆山皮皮虾 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 一目了然 阅读全文
posted @ 2021-03-24 11:06 昆山皮皮虾 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1.ARM公司在2009年2月发布了Cortex-M0 2.Cortex-M0的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务(甚至可以完成单周期的32位算法)。 3.Cortex-M0的另一种重要应用为专用标准电路(ASSP)和片上系统(SoC)。 4.和Cortex-M3 阅读全文
posted @ 2021-03-22 20:15 昆山皮皮虾 阅读(2380) 评论(0) 推荐(2) 编辑
摘要: 阅读全文
posted @ 2021-03-22 12:02 昆山皮皮虾 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1.移植OS内核启动文件以及驱动 ①内核启动文件startup.s ②系统时钟配置以及中断优先级设置 2.中断注册机制以及分散加载 3.移植内核与cpu相关联功能 ①栈初始化 ②PendSV中断管理函数 ③临界区管理函数 ④内核多任务启动函数 4.内核资源配置以及功能裁剪 ①配置是否使用OS中断机制 阅读全文
posted @ 2021-03-16 10:18 昆山皮皮虾 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 把 位带别名区+位序号 转换成别名区地址,统一成一个宏。 分析如下: 阅读全文
posted @ 2021-03-14 04:04 昆山皮皮虾 阅读(59) 评论(0) 推荐(0) 编辑
摘要: p为数组名,a为数组指针。具体操作如下,我认为数组名的操作最应该注意。 1.地址比较 2.数组指针操作 3.数组名操作(数组名是数组首元素的起始地址,但并不是数组的起始地址!) 在《C和指针》第二版的142页也有提到:取一个数组名的地址所产生的是一个指向数组的指针,而不是一个指向某个指针常量值的指针 阅读全文
posted @ 2021-03-13 13:54 昆山皮皮虾 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 1.数据帧结构 2.STM32的CAN一个位只有3段:同步段(SYNC_SEG)、时间段1(BS1)和时间段2(BS2)。 3.环回模式可用于自测试。为了避免外部的影响,在环回模式下 CAN 内核忽略确认错误(在数据/远程帧的确认位时刻,不检测是否有显性位)。 阅读全文
posted @ 2021-03-08 05:35 昆山皮皮虾 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 中断处理的全过程分为中断检测、中断响应和中断处理3个阶段。 1.中断检测 中断检测在每条指令结束时进行,检测是否有中断请求或是满足异常条件。 2.中断响应 中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。在Intel 80x86中,中断响应过程的操作如下: ●对可屏蔽中断,从8259中 阅读全文
posted @ 2021-03-07 11:08 昆山皮皮虾 阅读(3231) 评论(0) 推荐(0) 编辑
摘要: 使用动态内存管理的时候 FreeRTOS 内核在创建任务、队列、信号量的时候会动态的申请RAM。 标准 C 库中的 malloc()和 free()也可以实现动态内存管理,但是如下原因限制了其使用: ● 在小型的嵌入式系统中效率不高。● 会占用很多的代码空间。● 它们不是线程安全的。● 具有不确定性 阅读全文
posted @ 2021-03-04 03:22 昆山皮皮虾 阅读(991) 评论(0) 推荐(0) 编辑