美文网首页嵌入式 Linux C ARM 我用 LinuxLinux
学习ucos和ARM体系结构的路线图

学习ucos和ARM体系结构的路线图

作者: Leon_Geo | 来源:发表于2017-12-31 10:13 被阅读50次

Step 1:学会使用开发板跑简单程序

熟读对应开发板上的ARM芯片的datasheet,之后就尽可能的在开发板上逐个实现芯片对应的每个功能,像GPIO实验,UART通讯,I2C,ADC,DAC,PWM,RTC,SPI等等。当每个功能模块都实现以后,再实现多个功能复合的编程,比如用UART打印出ADC的值什么的。

Step 2:搞懂uCOS等简单OS

建议购买《嵌入式实时操作系统μCOS-II(第二版)》,

1.重点搞清楚什么是任务,什么是前后台,为什么要在系统中加入嵌入式操作系统;

2.详细了解他的TCB(Task Control Block)和ECB(Event Control Block)的数据结构,搞清楚整个uCOS的实现机制;

3.详细了解信号量,互斥信号量、消息队列、邮箱和时间标志组。

Step 3:建立对uCOS的初步认识

下载对应你的开发板ARM芯片移植好了文件OS_CPU_C.c,OS_CPU.H,OS_CPU_A.asm(当然有的开发板已经提供了这样的基础实验)

在你的开发板上跑跑uCOS,建立起自己对于uCOS在开发板上的认识。在你的开发板上编写一个自己跑uCOS的简单任务。

Step 4:熟悉ARM体系结构

可参考《ARM体系结构与编程》或《ARM+Architecture+Reference+Manual(2nd+Edition)》

了解以下几个方面的知识:

1、ARM模式下的指令集

2、Thumd模式下的指令集

3、异常模式及进入异常时ARM如何处理

4、一定能熟悉ARM中的汇编指令

5、熟悉CPSR,R0-R7,R8-R14,R15及在各个模式下,这些寄存器的映射。

熟悉以后,再来自己做uCOS的移植了。

Step 5:自己动手移植uCOS

对于uCOS的移植,我们只需要编写关键的三个文件,文件如下:

1、OS_CPU_C.c(堆栈初始化操作OSTaskStkInit函数)

2、OS_CPU.H:完成在该芯片下的数据定义,比如什么unsigned char 之类的,注意一下OS_STK和OS_CPU_SR的定义,定义下关中断和开中断的方式,有三个只能选择1个,ARM芯片一般是定义为第三种方式

3、OS_CPU_A.asm(这个是MDK环境下的汇编文件)或OS_CPU_A.a(这个是IAR开发环境下的汇编),这个文件的内容就多了,要做以下几个函数的重写:

a、OSStartHighRdy函数

b、任务级的任务切换函数OSCtxSw,

c、中断级的任务切换OSIntCtxSw,其实只要写好了OSCtxSw,OSIntCtxSw自然就copy一下就完了(copy的时候记者要把保存当前任务的寄存器去掉就可以了。

Step 6:测试自己的uCOS移植代码

Step 7:在自己写的uCOS移植代码中跑跑任务。

相关文章

  • 学习ucos和ARM体系结构的路线图

    Step 1:学会使用开发板跑简单程序 熟读对应开发板上的ARM芯片的datasheet,之后就尽可能的在开发板上...

  • ARM处理器体系架构详细说明

    ARM 体系结构是构建每个 ARM 处理器的基础。ARM 体系结构随着时间的推移不断发展,其中包含的体系结构功能可...

  • ARM体系结构与汇编指令

    ARM体系结构 ARMnTDMI ARM处理器状态 ARM状态:32位,处理器执行字方式的ARM指令,处理器在系统...

  • Linux内核源代码的目录结构

    arch 包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、...

  • ARM体系结构和汇编指令

    最近工作要用ARM体系结构和汇编指令,在此边学边写。希望对同样有需求的人有所帮助。 先列出我的学习资料路径,供大家...

  • ARM学习路线01-ARM体系结构

    第一部分 ARM体系结构 ARM(Advanced RISC Machines)既可以认为是一个公司的名字,...

  • 最系统的ARM嵌入式资料

    最系统的ARM嵌入式资料 最新整理史上最齐全嵌入式资料,嵌入式的ARM体系结构的学习,下面给大家分享嵌入式从入门到...

  • free rtos和ucos的区别

    一、freeRTOS比uCOS II优胜的地方: 1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在...

  • ARM课程-(NO.6.寄存器)

    ARM ARM体系结构的数据存储方式 处理器用于存储数据的方式有:大端小端法 ARM9处理器微处理器支持字节(8字...

  • linux+ARM学习路线图

    https://blog.csdn.net/gx19862005/article/details/21080819

网友评论

    本文标题:学习ucos和ARM体系结构的路线图

    本文链接:https://www.haomeiwen.com/subject/tdpogxtx.html