- 博客(22)
- 收藏
- 关注
原创 stm32cubeide出现HardFault调试日志
今天调试代码时出现了HardFault错误并跳转到了HardFault_Handle在调试模式下,打开Registers窗口,Windows->Show View->Registers我看网上说,如果LR = 0xFFFFFFE9,继续查看MSP(主堆栈指针)的值,如果LR = 0xFFFFFFFD,继续查看PSP(进程栈指针)的值。但是我发现我的PSP的值很明显违法了,我就继续查看了MSP的值,然后通过Windows->Show View->Memory,查看MSP的值,可是把
2021-01-21 16:57:16
4606
2
原创 stm32cubeide的freertos-消息队列发送结构体或者长消息,接收不完整的问题
今天在项目创建消息队列,消息队列中的数据类型的是结构体,调用接口使用的cubeide自带的创建消息队列的接口typedef struct _Irda_Info{ uint16_t datalength; uint8_t direction; uint8_t data[MB_SER_PDU_SIZE_MAX];} Irda_Info;osMessageQId irdaRecvQueue_HandleosMessageQDef(irdaRecv_Queue, 4, sizeof(Irda_I
2021-01-21 11:34:19
2283
3
转载 esp8266 ESP8266_RTOS_SDK3.0开发环境搭建之ubuntu18.04版本转载备份
本文章转载至:http://blog.openpilot.cc/archives/1936转载文章作为查询汇总官方文档地址:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/index.htmlmkdir ~/espcd ~/esp#下载主源代码,必须git,不能手动浏览器下载zipgit clone https://github.com/espressif/ESP8266_RTOS_SDK.g
2021-01-14 14:57:05
229
转载 优快云-markdown编辑器使用方法(存档练习)
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-06-20 14:31:56
582
原创 uc/os-iii学习笔记-时间管理
UCOS—III时间管理UCOSIII中的任务是一个无限循环并且还是一个抢占式内核,为了使高优先级的任务不至于独占CPU,可以给其他优先级较低任务获取CPU使用权的机会,UCOSIII中除空闲任务外的所有任务必须在合适的位置调用系统提供的延时函数,让当前的任务暂停运行一段时间并进行一个任务切换。延时函数有两种,OSTimeDly()和OSTimeDlyHMSM()。 OSTimeDly()函数有三
2016-07-20 11:01:33
551
原创 uc/os-iii学习笔记-任务挂起表
任务挂起表当一个任务等待信号量、互斥信号量、事件标志组、或者消息队列时,该任务就被加入任务挂起表,或者等待表中。
2016-07-20 10:50:14
618
原创 uc/os-iii学习笔记-任务切换
任务切换当UCOSIII需要切换到另外一个任务时,它将保存当前任务的现场到当前任务的堆栈中,主要是CPU寄存器值,然后恢复新的现场并且执行新的任务,这个过程就是任务切换。任务切换分为两种:任务级切换和中断级切换。
2016-07-19 14:58:38
826
原创 uc/os-iii学习笔记-任务管理
记了几篇笔记后发现,基本就是在抄书,而且由于本人绘图能力有限,也无法贴上图表去说明,可能导致后来的读者完全摸不清头脑,所以再次声明,本人只是在给自己做知识点笔记,相关图标和介绍请阅读书籍《嵌入式实时操作系统us/os-iii》任务管理任务创建任务需要创建,当创建任务时,必须制定该任务使用的任务控制块的地址,任务的优先级,任务堆栈所在的RAM区以及一些其他参数。具体在OS_Create();函数中。
2016-07-13 16:39:49
896
原创 uc/os-iii学习笔记-临界段
临界段代码☞那些必须完整的连续运行,不可被打断的代码段。 宏定义的设置必须在cpu_cfg.h文件中设置,在应用代码中不可使用。 - 中断处理程序和任务都会访问的临界区代码段,需要用关中断的方法加以保护。OS_CFG_ISR_POST_DEFERRED_EN = 0; // 进入临界段代码前关中断,在退出临界段代码后重新打开中断仅由任务访问的临界段代码,可以通过给调度器上锁的方法加以保护。
2016-07-13 14:03:30
860
原创 uc/os-iii学习笔记-OSTaskCreate
必须为该任务分配一个任务控制块(OS_TCB)。 static OS_TCB AppTaskStartTCB 每个任务都必须有属于自己的栈(CPU_STK)。 static CPU_STK AppTackStartStk[APP_TASK_START_STK_SIZE]举例void main(void){ OS_ERR err; BSP_InitDisALL
2016-07-13 10:43:57
3219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人