03 2021 档案
摘要:网址:http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html#ss1.1
阅读全文
摘要:1.ARM公司在2009年2月发布了Cortex-M0 2.Cortex-M0的运行效率很高(0.9DMIPS/MHz),能在较少的周期里完成一项任务(甚至可以完成单周期的32位算法)。 3.Cortex-M0的另一种重要应用为专用标准电路(ASSP)和片上系统(SoC)。 4.和Cortex-M3
阅读全文
摘要:1.移植OS内核启动文件以及驱动 ①内核启动文件startup.s ②系统时钟配置以及中断优先级设置 2.中断注册机制以及分散加载 3.移植内核与cpu相关联功能 ①栈初始化 ②PendSV中断管理函数 ③临界区管理函数 ④内核多任务启动函数 4.内核资源配置以及功能裁剪 ①配置是否使用OS中断机制
阅读全文
摘要:把 位带别名区+位序号 转换成别名区地址,统一成一个宏。 分析如下:
阅读全文
摘要:p为数组名,a为数组指针。具体操作如下,我认为数组名的操作最应该注意。 1.地址比较 2.数组指针操作 3.数组名操作(数组名是数组首元素的起始地址,但并不是数组的起始地址!) 在《C和指针》第二版的142页也有提到:取一个数组名的地址所产生的是一个指向数组的指针,而不是一个指向某个指针常量值的指针
阅读全文
摘要:1.数据帧结构 2.STM32的CAN一个位只有3段:同步段(SYNC_SEG)、时间段1(BS1)和时间段2(BS2)。 3.环回模式可用于自测试。为了避免外部的影响,在环回模式下 CAN 内核忽略确认错误(在数据/远程帧的确认位时刻,不检测是否有显性位)。
阅读全文
摘要:中断处理的全过程分为中断检测、中断响应和中断处理3个阶段。 1.中断检测 中断检测在每条指令结束时进行,检测是否有中断请求或是满足异常条件。 2.中断响应 中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。在Intel 80x86中,中断响应过程的操作如下: ●对可屏蔽中断,从8259中
阅读全文
摘要:使用动态内存管理的时候 FreeRTOS 内核在创建任务、队列、信号量的时候会动态的申请RAM。 标准 C 库中的 malloc()和 free()也可以实现动态内存管理,但是如下原因限制了其使用: ● 在小型的嵌入式系统中效率不高。● 会占用很多的代码空间。● 它们不是线程安全的。● 具有不确定性
阅读全文
摘要:阻塞 如果一个任务当前正在等待某个外部事件的话就说它处于阻塞态, 比如说如果某个任务调用了函数 vTaskDelay()的话就会进入阻塞态, 直到延时周期完成。任务在等待队列、信号量、事件组、通知或互斥信号量的时候也会进入阻塞态。任务进入阻塞态会有一个超时时间,当超过这个超时时间任务就会退出阻塞态,
阅读全文
摘要:UART1中断 1 extern SemaphoreHandle_t BinarySemaphore; //二值信号量句柄 2 void USART1_IRQHandler(void) //串口 1 中断服务程序 3 { 4 u8 Res; 5 BaseType_t xHigherPriorityT
阅读全文
摘要:uart_init() 1 void uart_init(u32 bound) 2 { 3 //GPIO 端口设置 4 GPIO_InitTypeDef GPIO_InitStructure; 5 USART_InitTypeDef USART_InitStructure; 6 NVIC_InitT
阅读全文