zoukankan      html  css  js  c++  java
  • 嵌入式系统学习开发概述

    简介

      下面是嵌入式系统组成图:

     

      嵌入式微处理器常用种类如下:

      嵌入式操作系统常用种类如下:

      Linux发行版常用种类如下:

    职业发展

     

    学习概述

    嵌入式系统学习一般可以分为以下几个步骤:

    • 选一块开发板,了解其资源;
    • 进行ARM裸机跑程序;
    • 嵌入式系统定制和移植;
    • 嵌入式系统应用程序开发和移植。

    一、选一块开发板,了解其资源

    1、系统资源(括号中的是类比PC机的资源)

    • 处理器(CPU)
    • norflash(固态硬盘):容量小,运行速度快,价格高;
    • nandflash(普通硬盘):容量大,运行速度慢,价格低;
    • SD卡(光盘)
    • RAM(内存)
    • LCD(显示屏)

    2、接口资源

    • LED
    • USB
    • JTAG
    • 串口
    • ..........

    3、启动模式

      不同开发板的存储配置不一样,所以启动的选项不一样。可以通过设置来决定从哪里启动系统(norflash、nandflash、SD卡)。

    4、操作系统支持

    • 支持类型:linux、winCE等;
    • 安装位置:norflash太小,一般存储在nandflash或者SD卡中;
    • 安装步骤:具体见第三部分。

    二、进行ARM裸机跑程序

    1、ARM的3个概念

      ARM的3个概念经常让初学者很困惑,其详解如下:

    • 芯片:(三星)6410、210、2440;
    • ARM内核:A8、arm11、arm9;
    • 指令架构:armv7、armv4;

      其关系是:一种芯片对应一种ARM内核,一种ARM内核对应一种指令架构。

    2、为什么要学习ARM裸机

    • 有些项目直接通过ARM裸机即可完成;
    • 之后我们移植嵌入式系统时,需要的bootloader是一个大型裸机程序;
    • 有利于更好地了解硬件驱动的实现,为后面嵌入式内核驱动的编写做准备。

    3、开发工具

      在windows下,一般采用MDK或者ADS进行开发,比较简单。如果想要在linux系统(比如红帽)下开发,那就需要用到集成

    开发环境Eclipse,进行交叉编译,具体配置如下:

    • 安装交叉工具链arm-linux-gcc(用于编译、链接生成elf格式文件、格式转换为二进制文件、查看elf文件、反汇编等);
    • 安装交叉调试工具arm-linux-gdb,(别忘了调试要用到J-link,所以要安装其驱动程序);
    • 安装Eclipse,并安装插件http://opensource.zylin.com/zylincdt;
    • 打开工程,配置makefile文件(其中采用交叉工具链),进行编译;
    • 选择arm-linux-gdb进行调试,(不过需要对处理器进行初始化,制作初始化脚本程序);
    • 接下来调试程序,即可在Eclipse中看到寄存器的变化。

    4、编程语言

      一般有以下两种开发编程语言:

    • 汇编语言:执行效率高,编写复杂;
    • C语言:可读性强,移植性好,调试方便。

      为了结合两种语言的优点,一般会采用混合编程:

    • 汇编调用C函数(在汇编中调用C函数的函数名)
    • C调用汇编函数(调用.S文件中的汇编函数)
    • C内嵌汇编(在C函数中写汇编)

    三、嵌入式Linux系统定制和移植

      嵌入式Linux系统组成如下:

    • Bootloader:初始化,启动操作系统;
    • Linux内核:内核已经把驱动文件编译进去了;
    • 根文件系统:编译内核模块,用于存放文件和应用程序。

      至于以上3部分的定制,这里不多说,重点讲一下移植。

      一般选用在windows系统下安装Vmware虚拟机,然后再在虚拟机里面安装好linux发行版系统(作者用的是红帽企业版6),

    安装好后,需要给虚拟机里的linux系统配置网络、配置windows和linux系统文件交互功能、安装linux与arm之间的USB传输工具

    dnw,以上只是准备工作。

      具体移植步骤如下:

    • 通过JTAG将引导安装程序(supervivi)下载到norflash中;
    • norflash的引导安装程序通过USB下载线将PC机的操作系统下载到内存中;
    • norflash的引导安装程序将内存中的系统烧写到nandflash中。
    • 直接启动操作系统即可。

    四、嵌入式系统应用程序开发和移植

      http://blog.csdn.net/crazycoder8848/article/details/22827699

  • 相关阅读:
    红黑树实现
    Java环境变量的配置及意义
    Java 内存分配全面浅析
    吸血鬼数字
    nat模式、路由模式,网桥模式
    WebService 的创建,部署和使用
    摩尔定律
    计算机组成
    世界是数字的
    面试
  • 原文地址:https://www.cnblogs.com/steed/p/7899270.html
Copyright © 2011-2022 走看看