• 嵌入式控制(1)---从51单片机到嵌入式系统


    从51单片机到操作系统原理
    -----学习感想
    今天是9月13日,陈冰老师进行了第一次嵌入式系统相关讲座。按照上手程度从易到难,发展时间先后顺序,给大家讲述了:单片机的概念及工作原理,操作系统存在的必要性和其实现的功能。演示了:单片机在KEIL开发环境下配置,编译,烧写,嵌入式系统在串口通信条件下程序编译与执行。用仅仅四个小时不到的时间对嵌入式系统进行了由浅入深,详简有度,条理清晰的讲解。
    1.51单片机
    8051单片机较为简单,基础。其采用冯诺依曼构架,主要结构包括:运算核心,寄存器,rom,ram,clock以及其他外设。51单片机的工作原理及工作程序包括以下几点:
    1. 单片机内部的重要操作是从rom中读取程序,暂存于寄存器,程序中产生的变量则进入ram。也就是,单片机重要的操作就是搬运。
    2. 程序可以通过读取、写入引脚变量完成与外界交换数据。每个引脚对应一个地址,对指向该地址的指针进行操作就是实现I/O。
    3. 单片机的程序里面有一个重要的主循环,但主循环里所实现的功能并不是最重要的。重要、复杂的共能主要在中断中实现。
    4. 程序中断或进入子function时,需要保存当前状态。将当前寄存器内容,指令指针存进栈中。中断完成后重新弹栈,恢复中断前状态。
    5. 程序在运行过程中,可以响应外部变化,对新变量分配内存,称为堆。
    6. 程序在烧写前需要经过编译,链接。编译实际上是给指令脱衣服,而链接需要硬件信息,将指令烧写进对应地址。
    由于单片机变成接近硬件底层,直接在硬件上执行程序,可能会溢出导致系统错误等一系列难发觉的bug。所以,考虑让程序通过操作系统和硬件进行相关操作。操作系统的作用在于:虚拟化、持久化、并行化。
    2.操作系统
    虚拟化的主要作用是实现并行多任务。操作系统需要调度系统资源,面对每个请求资源的程序,操作系统都对其分配”全部内存资源”,而这种分配方式是通过MMU向内存空间中映射完成的。由此实现运行在操作系统上的所有程序,都能够调配足够资源。
    并行化是指在linux操作系统下,一切皆文件。之前我对linux系统已有了解,但今天收获了在linux系统下,连进程亦是文件,可以读取进程中所执行指令的地址等内容。中断即保存进程,保存进程即保存文件。嵌入式系统中I/O口亦是文件。通过向I/O文件中读写,可改变或读取I/O状态。和51单片机中改变程序变量值的方式区别很大。
    我之前的单片机基础停留在修改例程,实现跑马灯的水平。并且,在我之前的思想里,单片机开发主要手段就是修改例程,在其他人盖好的大楼里简单的添砖加瓦,窥一斑私以为得全豹,见一足全当是知大象。虽然今天的讲座并未大幅提升我的实际操作水平,却让我对单片机、嵌入式系统有了较为全面、系统的认识,获得了自主学习嵌入式系统的能力。
    纸上学来终觉浅,talk is cheap,show the code

  • 相关阅读:
    在WCF中使用Flag Enumerations
    WCF开发教程资源收集
    [转]WCF 4 安全性和 WIF 简介
    Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]
    Asp.Net Web API 2第十八课——Working with Entity Relations in OData
    Asp.Net Web API 2第十七课——Creating an OData Endpoint in ASP.NET Web API 2(OData终结点)
    Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
    Asp.Net Web API 2第十五课——Model Validation(模型验证)
    函数 生成器 生成器表达式
    函数的进阶
  • 原文地址:https://www.cnblogs.com/ironstark/p/4889410.html
Copyright © 2020-2023  润新知