
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
以上就是基本的章节内容,首先是介绍了BES2300芯片的组成,这款芯片内部的组成,包含什么外设,使用的CPU是什么内核这样;然后详细分析了在flash和ram中关于代码是如何进行分布的,这里有一点不同的是在代码中为了保证访问的速率或者低功耗的涉及,创建了一个boot和sram的代码段。最后是分析了芯片的启动流程,主要是Bootload层和系统层。Bootload会去初始化一些外设,最主要的是时钟,

先来回答第一个问题,事件是任务之间进行通信的一种机制,主要用于任务之间的同步,相比对信号量的同步操作,事件具有以下优势。占用的内存空间很小,信号量其实是依附在队列结构体中实现的,但是事件是一个单独的结构体,由uxEventBits和xTasksWaitingForBits组成;事件可以实现一对多,多对多的同步(逻辑与和逻辑或操作),而信号量一般用于一对一的同步;事件仅仅是用于同步,不能进行消息的传

本文主要概述了FreeRTOS的移植和剪切过程,其实在FreeRTOS中已经帮助我们适配了大部分处理器,我们要做的就是拿来会用就行,但是针对新的CPU和架构,就需要自己移植了,理论上讲无论CPU是大的SOC还是小的MCU,只要处理器中有一个定时器,有系统调用中断,基本上都可以运行freeRTOS。

任务是RTOS中最基本的调度单元,任务的创建与管理是非常重要的内容,任务的创建分为静态和动态两种方法,一般在实际项目中使用的均为动态方法。

任务是RTOS中最基本的调度单元,任务的创建与管理是非常重要的内容,任务的创建分为静态和动态两种方法,一般在实际项目中使用的均为动态方法。

本文主要概述了FreeRTOS的移植和剪切过程,其实在FreeRTOS中已经帮助我们适配了大部分处理器,我们要做的就是拿来会用就行,但是针对新的CPU和架构,就需要自己移植了,理论上讲无论CPU是大的SOC还是小的MCU,只要处理器中有一个定时器,有系统调用中断,基本上都可以运行freeRTOS。

整个编译过程涉及三类文件,第一类是c源文件,位于各个目录下,第二类是汇编文件startup_stm32f103xe.s,第三类是编译器所携带的库文件,在这个项目中对应的文件为c_w.l,位于Keil IDE的安装目录下。在启动至mian函数的整个过程如下图所示,首先是执行reset_handler函数,如果有MMU/MPU则要在调用_main之前配置完成,接下来是执行C库中的函数,完成代码的拷贝,








