1.基础内功:

C语言,C++;数字电路,模拟电路;英语,看懂芯片手册;万用表,示波器工具等

2.就业方向:

单片机裸机,单片机RTOS,linux驱动,linux应用,DSP,FPGA;

3. 主流芯片架构:

ARM:

A应用程序类型:

经典ARM处理器: ARM926系统(ARMv5结构) ARM11系列(ARMv6系列)

ARM Cortex处理器: Cortex-A8 , Cortex-A9,....A35等

R实时控制器类型:

经典ARM处理器: ARM920系列(ARMv4结构), ARM966(ARMv5结构)

ARM Cortex处理器:Cortex-R3,R5,R7,R8,R52

M微控制器类型:

经典ARM处理器: ARM7系列(ARMv3结构)

ARM Cortex处理器:Cortex-M0,Coretx-M1(FPGA), M3,M4,M7,M23.M33

mcu: ram (自带)+mcu+flash(自带);

mpu: ram (外挂)+ flash(外挂)+mpu

RTOS:

Real-time operating system,实时操作系统。

汇编指令:

* 读内存:Load,LDR
* 写内存:Store,STR
* 加法:ADD
* 入栈:PUSH,实质上就是写内存STR
* 出栈:POP,实质上就是读内存LDR

要读内存:读内存哪个地址?读到的数据保存在哪里?读多少字节?

* LDR R0, [R1, #0x00]
  * 源地址:R1+0x00,注意:不是读R1,是把R1的值当做内存的地址
  * 目的:R0,CPU的寄存器
  * 长度:4字节,LDR指令就是读4字节,LDRH是读2字节,LDRB是读1字节

要写内存:写内存哪个地址?从哪里得到数据?写多少字节?

* STR R0, [R1, #0x00]
  * 目的地址:R1+0x00,注意:不是写R1,是把R1的值当做内存的地址
  * 源:R0,CPU的寄存器
  * 长度:4字节,STR指令就是读4字节,STRH是读2字节,STRB是读1字节

入栈:CPU的寄存器的值,写到内存上

* PUSH {R3, LR}

* 源:CPU的寄存器R3、LR的值
  * 目的:内存,内存哪里?使用CPU的SP寄存器指定内存地址
  * 长度:大括号里所有寄存器的数据长度,每个寄存器4字节
  * 注意:低编号的寄存器,保存在内存的低地址处

出栈:把内存中的数值,写到CPU的寄存器

* POP {R3, PC}
  * 源:内存,内存哪里?使用CPU的SP寄存器指定内存地址
  * 目的:CPU的寄存器R3、PC的值
  * 长度:大括号里所有寄存器的数据长度,每个寄存器4字节
  * 注意:内存的低地址处的数据,写到CPU低编号的寄存器

其他知识:

* CPU内部有R0、R1、……、R15共16个寄存器
* 某些寄存器有特殊作用
  * R13,别名SP,栈寄存器,保存着栈的地址
  * R14,别名LR,返回地址,保存着函数的返回地址
  * R15,别名PC,程序计数器,也就是当期程序运行到哪了

保存现场的几种场景:

* 函数调用

* 中断处理

* 任务切换

FreeRTOS中怎么创建任务:

* 分配了TCB结构体
* 分配了栈
* 在栈里写入了函数地址、参数

调度机制:

* 优先级不同
  * 高优先级的任务,优先执行,可以抢占低优先级的任务
  * 高优先级的任务不停止,低优先级的任务永远无法执行
  * 同等优先级的任务,轮流执行:时间片轮转
* 状态
  * 运行态:running
  * 就绪态:ready
  * 阻塞:blocked,等待某件事(时间、事件)
  * 暂停:suspend,休息去了
* 怎么管理?
  * 怎么取出要运行的任务?
    * 找到最高优先级的运行态、就绪态任务,运行它

* 如果大家平级,轮流执行:排队,链表前面的先运行,运行1个tick后乖乖地去链表尾部排队

调度方法:

TICK中断!

链表:

FreeRTOS里面维护了3个链表,各个链表还设置了从低到高的优先级,0-4, 同一个优先级的任务由时间片轮转切换

1.ReadyList

2.DealyList

3.suspendList

队列:

FreeRTOS里面的队列是个环形缓冲区,同时这个队列有休眠和唤醒的功能

嵌入式学习路线和ROTS开发模式(1)相关推荐

  1. 呕心沥血整理的的嵌入式学习路线

    曾经是某见的教学总监,我带出来的学生也有大几千了,基本都从事linux相关开发工作.现在在各行各业也基本都是翘楚,有的都成公司技术主管,带领几十人上百人团队. 网上看了很多的嵌入式学习路线,有的还凑活 ...

  2. 本科/研究生阶段--嵌入式学习路线(尤其适用于机械僧)

    本科/研究生阶段--嵌入式学习路线(尤其适用于机械僧) 嵌入式开发方向 一.基础阶段(兴趣阶段) 2.1.知识储备 C语言 基本的数电模电 2.2.实践 Arduino开始入手 STM32F1/F4( ...

  3. 嵌入式学习路线——解惑

    你是否在嵌入式学习过程中有很多疑惑,不知道从哪里开始,不知道怎么学一些列问题,在这里给了部分解答,一起去看看 问题一 初学者学习C语言什么时候才能写出像JAVA一样.WEB一样.QT C++一样.py ...

  4. 详解从0开始的嵌入式学习路线,学什么、怎么学?

    嵌入式是个大筐,什么都可以往里面装,电子.机械.计算机.自动化.测控.通信.物联网--很多很多专业都和嵌入式沾边,硬件.驱动.操作系统.网络.应用.算法--很多同学越学越迷糊,越学越感觉什么也不会. ...

  5. 谈谈mini2440开发板的学习路线以及分享开发板的最新资料[minitools v1.9a...](更新时间:2020/05/16))

    谈谈mini2440开发板的入门学习路线以及分享开发板的最新资料[minitools v1.9a...](更新时间:2020/05/16) 简介 因为毕设,自己也在学习mini2440开发板,但是它实 ...

  6. 【嵌入式学习】嵌入式学习路线介绍

    文章目录 资料整理: 理论学习路线 嵌入式软件工程学习路线 51单片机 郭天祥 STM32单片机 正点原子 野火 安富莱 普中科技 参考链接 资料整理: 郭天祥教学视频<单片机:十天征服你> ...

  7. ARM+LINUX嵌入式学习路线

    嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,大概分3个阶段: 1.嵌入式linux上层应用,包括QT的GUI开发 2.嵌入式l ...

  8. 【干货分享】嵌入式学习路线公开!(书籍推荐+视频推荐+练手项目)

    哈喽,大家好,我是仲一.最近有小伙伴在微信私信我,如何学习嵌入式.一直想写一篇学习路线的文章,由于各种原因拖到了现在.趁着国庆节在家,终于肝完了这篇文章. 我个人是从STM32转到驱动开发的,在研二的 ...

  9. 新手小白学习嵌入式系统怎么学?嵌入式学习路线

    嵌入式可以说是当下有前途的IT应用领域,小到电子词典.手机,大到航空航天设备都是典型的嵌入式系统,因此,通过嵌入式技术人才的职业发展空间是非常大的.那么想进入嵌入式行业,新手小白学习嵌入式系统怎么学呢 ...

最新文章

  1. 沸点压力计算java_java 观察者模式
  2. Boost:基于Boost的阻塞tcp echo的测试程序
  3. python3创建一个游戏窗口
  4. rsync安装与配置使用 数据同步方案(centos6.5)
  5. html5 摄像头拍摄视频教程,html5实现调用摄像头并拍照功能
  6. 使用Kylin导入JDBC数据源遇到的问题
  7. 画春天的景色计算机教案,大班绘画春天来了教案
  8. gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成
  9. 机器学习算法汇总:人工神经网络、深度学习及其它
  10. WPF学习笔记-如何按ESC关闭窗口
  11. 全网首发:怎样加快android doubango的编译速度?
  12. Dispatch(01)
  13. 揭秘北京龙泉寺,连清华北大学子都排队出家的神秘科研组织
  14. 怎么将几张pdf合并成一张_怎么把多个PDF文件合并成一个
  15. 数据库分库分表,分片配置轻松入门!
  16. 台式计算机提示电池低,台式机电脑电源供电不足怎么办 台式机电脑电源供电不足解决方法【详解】...
  17. java中间件技术有哪些?
  18. clusterProfiler安装
  19. 哒哒哒哒哒哒,哒哒哒哒哒哒哒哒
  20. 利用matlab实现复数域空间牛顿迭代法的分形图案展示(newton法)

热门文章

  1. 颠覆车载显示/拒绝屏幕堆砌,这家Tier1巨头给出自己的答案
  2. Learning from Imbalanced Data 翻译和阅读笔记
  3. 上手openSUSE
  4. 软件开发中的“浪费”
  5. software foundations LF Basics
  6. 城市复杂路况下交通流模拟matlab仿真
  7. windows防火墙不能自动运行的问题解决一例
  8. 【转】用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
  9. 通过计算得到输入时间距离当前时间相差多少,天,时,分
  10. 第五届敏捷中国大会现场采访郭晓和张为民