- 博客(13)
- 收藏
- 关注
原创 FreeRTOS 定时器
定时器的使用与定时器任务(Tmr Svc)服务的理解.freertos的定时器功能是用task实现的,但是其命令却是用队列queue实现的.一旦别的task中发送xMessage,可以导致prvTimerTask立刻从pxDelayedTaskList(等待列表)中加入pxReadyTasksLists(就绪列表).由于Daemon优先级最高,因此可以立刻执行到prvTimerTask,通过接收xMessage的函数,根据xMessage.xMessageID,具体来处理命令。
2023-04-24 18:09:44
1438
原创 Linux0.11源码学习-bootsect.s
BIOS—> bootsect.s —> setup.s —> System模块(head.s—>main.c)
2023-04-13 10:39:52
321
原创 FreeRTOS SysTick中断
SysTick—系统定时器是属于 Cortex-M 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 AHB 时钟,在 RT1052 中,AHB 时钟等于 528MHZ。当重装载数值寄存器的值递减到 0 的时候,会置位相关的标志位或者产生中断(前提是中断已经使能),以此循环往复。
2023-04-10 11:44:20
847
原创 ARM Cortex-M MPU的保护设置
MPU 可以将内存划分为不同的区域,并且可以设置每个区域的访问属性。提高系统的稳定性。典型应用如下: 划分特权用户访问区域和普通用户访问区域,在 OS 系统中提高系统稳定性。 设置只读区域,防止关键数据被意外修改。 检测堆、栈是否溢出。
2023-04-07 15:27:14
612
原创 内存管理--位图BITMAP
/初始化位图的内存区域. void bitmap_init(struct bitmap * btmap) {/*** 检测指定位是否为1,如果是,返回1.//保存状态 void bitmap_set(struct bitmap * btmap , uint32_t index , int8_t value) {} else {} }/*** 在位图中申请连续的cnt个位.
2023-04-06 15:06:46
1205
原创 FreeRTOS: vTaskSuspendAll xTaskResumeAll详解
1,如果关闭调度的时候,有等候的线程(pending )需要把线程转移到就绪列表中prvAddTaskToReadyList.2,如果关闭调度的时候,经过的多个Tick,需要执行对应的次数的xTaskIncrementTick.2,是否有线程需要做调度工作.如果有返回TRUE.3,如果以上都没有发生,继续执行原有的线程.1,累加Tick数.
2023-04-03 17:11:25
2070
原创 FreeRTOS 启动第一个线程的步骤
从main函数开始,初始化完成之后,通过SVC指令的中断函数来,初始化成需要的寄存器值,才能正常运行线程.调用prvStartFirstTask前的,寄存器值如下。
2023-03-31 17:32:41
642
原创 Arm ContxM FreeRTOS MSP之间PSP相互切换
FreeRTOS 创建线程的时候,事先往堆栈中保存EXC_TURN值,然后做线程切换的时候,先把保存的EXC_TURN值反映到CPU寄存器,这样执行线程的时候就变成了PSP.也就是说线程的时候使用PSP是人为设置的.相反MSP是硬件自己完成的,比如当发生中断后,执行中断函数的时候硬件吧SP改成MSP.代码从main()函数开始执行的时候,栈默认是MSP开始.当创建线程后从main函数切换到线程的时候,栈从MSP->PSP. 这个过程如下.4.执行线程的代码,除非线程结束,不然不会再继续main()函数。
2023-03-31 14:18:40
948
原创 FreeRTos 执行空函数指针,重启的现象是为什么
上面的图中可以看书,调用空指针函数p_cxt_fun的汇编代码.跳转到 内存的0地址.(内存中0地址保存的时候,一些常用数据区,并非代码区域)准备继续执行.调用空函数后,PC指向了 0,然后根据地址0的数据,当成了指令集执行. 所有可能出现各种现象,重启只是其中一个可能而已.可能是空函数与RESET函数刚好地址一致,因此调用空函数的时候,无意中执行了重启函数REST,所以才出现重启现象.最后出现什么现象,就跟地址0的数据区的数据的不同可能出现不一样的现象.RESET函数根本不是0,因此上面猜测是错误的.
2023-03-31 12:00:44
463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人