ARM体系结构-在裸板下的开发、单片机
Linux系统移植-给开发板安装操作系统
Linux系统驱动编程-对内核进行扩展
开发板
SD卡
电源线
网线
串口线
蓝色USB线

一、嵌入式介绍

1、什么是嵌入式系统
    嵌入到控件器的内部的软件,为特定的应用而设计的专用的计算机系统
    以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

    学习嵌入式:
        参与系统的裁剪
        在此系统的基础开发应用
2、嵌入式系统的构成
    软件
        应用程序
        功能库(Qt、madplay、libc、pthread)
        文件系统
        内核+驱动
        引导程序
    硬件
        底板(硬件接口,网卡、声卡、显卡、外设)
        核心板(SOC(CPU+内设),SDRAM,Nand
3、嵌入式系统的演进方向
    1、以单芯片为核心,可以编程控制器存在的形式(单片机)
        没有操作系统支持、软件以汇编为主,功能单一、处理效率低、存储器小、没有外部接口
    2、以嵌入式CPU为基础、简单的操作系统为核心
        CPU种类多、通用性强、系统开销小、效率高、具有一定的拓展性和兼容性、用户体验度不高、交互不友好。
    3、以嵌入式操作系统为标志
        兼容性好、适用于不同平台、具有高度模块化及拓展性、界面化、用户交互友好
    4、万物互联
        将传感器技术、高速网络技术、人工智能、嵌入式技术综合联合在一起实现小型化、智能化、网络化、可视化、低功耗、绿色环保
        配合异构多核技术、云计算、大数据、人工智能、虚拟化技术
4、嵌入式的开发模式
    非嵌入式的开发:A类计算机编写源代码->编译得到可执行程序->发布给A类计算机执行。
    嵌入式的开发:A类计算机编写源代码->编译得到可执行程序->发布给B类计算机执行。
    为什么需要交叉编译:主要是嵌入式的CPU比较简单,本身无法安装开发工具,有的甚至没有操作系统,所谓的交叉编译就是用高性能的计算机为低性能的计算机开发软件。
    交叉编译的特点:必须使用专用的交叉编译工具,由于编译出的程序无法再本机执行,因此需要把程序通过特殊方法加载到目标设备上执行(烧写)。
5、为什么需要SD卡等辅助设备
    嵌入式设备所运行的软件(应用、库、文件系统、内核、驱动、引导程序)不会从本机上产生,它需要从其他机器上通过特殊复制SD卡上,需要嵌入式设备从SD卡启动,来运行、调试相关软件。
    SD卡是嵌入式设备在没有安装好操作系统的情景下常用的一种调试方法。
    网络接口是安装引导程序、操作系统后常用的一种调试方法,常用的网络调试工具有TFTP、FTP、NFS。
    USB也建议进行调试,但不稳定而且对开发的计算机有特殊要求,基本不用。

二、ARM处理器介绍

1、ARM的发展历史
    ARM的前身是艾康电脑,于1978年成立在英国剑桥。
    在1980年左右,苹果电脑开始与艾康电脑合作开发新的ARM核心。
    1995年推出全球第一款商用的RISC处理器。
        精简指令集:只集成了一些基础运算的指令。
        复杂指令集:它比精简指令集功能更强、指令更多,优点是使用汇编编程时更方便快捷,但随着高级语言的发展这
        个优势不复存在,反而缺点功耗高、效率低、耗电更明显,对于嵌入式设备说这些缺点是致命的。
    1990年艾康电脑财务危机,接受苹果的投资分割出独立的子公司ARM(Advanced RISC Machine),ARM公司正式成立。
    从1991年开始推出第一款嵌入式精简指令集处理器架构。
    (时间不确定,仅供参考)
    1993年,发布ARM7
    1997年,发布ARM9
    2001年,发布ARMv6
    2002年,发布ARM11
    2004年,发布ARMv7,同时分出三个系列是:Cortex-A Cortex-R Cortex-M
    2005年,发布Cortex-A8
    2007年,发布Cortex-A9
    2010年,发布Cortex-A15
    2011年,发布ARMv8
    2012年,发布64位处理器
2、ARM的商业模式和生态系统
    ARM之前的半导体行业,Intel、ADM、Motorola等,自己设计IC、自己生成芯片、自己销售。
    而ARM只负责设计IC,出卖自己的设计IP,自己不生产芯片,而是把IP授权给其他半导体厂商,来收取授权费。
    因此ARM不是一家半导体厂商,而是一家设计公司。
    ARM的启示:
        不要抱怨自己的劣势,劣势反而可能是机会。
        要想成功,得先学会帮助别人、成全别人。
        社会的成熟标志就是分工不断的细化。
        ARM发展的很快,也很慢。
3、为什么选择三星
    本身使用广泛,有良好的企业应用基础。
    资料多、积累好、方便学习。
    开发板和方案商多,软硬件平台好找。
    体系很典型,适用于学习。
4、ARM的版本号
    ARM型号命名问题
        1、ARM7和ARMv7不是一回事
        2、Cortex-A9比Cortex-A7更先推出
        3、型号很混乱,没有规律
    ARM的几种型号
        内核版本号 ARMv7
        Soc版本号 Cortex-A8
        芯片型号 S5PV210
        内核版本号和Soc版本号由ARM公司确定,芯片型号由半导体生产厂商确定。

三、开发板介绍

九鼎创展 x210V3s 目前已经停产,阅读硬件手册
CPU:S5PV210 1GHz
内存:512MB/1GB DDR2
硬盘:4GB inand
串口:两路 RS232 接口,默认andorid2.3,WINCE使用uart0作为调试串口,android4.0和linux使用uart2作为调试串口,靠近电源接口。
SD:2个SD卡接口,在使用 SD 卡启动时,一定要插到右侧的卡槽,否则无法从 SD 卡启动。
LED:四路LED+1电源信号灯
复位按钮:关机,并没有重启的功能。
硬件开机开关:长按开机,9V直流电源
启动配置开关:拨到最上面是SD启动,最下面是USB,拨码开关靠近纽扣电池。
触摸屏:电阻、电容屏都支持
WIFI:外接USB无线网卡
网卡:有线以太网 DM9000CEP

四、开发环境搭建

1、安装串口驱动
    右击我的电脑->管理->设备管理器->串口,查看COM编号
2、安装串口通信工具
    安装PuTTY->串口(COM编号,速度115200)->保存会话->双击会话。
    长按开机按钮->显示字符即可。
3、安装SD卡烧写工具
    以管理员身份运行x210_Fusing_Tool.exe,如果无法运行则安装vc2008运行库。
    单击Browse按钮,选择要烧写的文件led_image.bin,单机Add按钮,单机START按钮,出现Fusing image done提示信息则表示烧成功。
    注意:如果出现不可写的信息,问题1没有以管理员身份运行,问题2SD卡补上锁,否则就是SD卡损坏,请更换SD卡。
4、安装ARM交叉编译器
    拷贝arm-2009q3.tar.bz2到共享目录,剪切到ubuntu主目录下,右击压缩包->解压到此处。
    重命名为arm-linux-gnu,从终端进入arm-linux-gnu/bin,执行pwd命令,拷贝路径。
    执行 sudo vi /etc/environment 打开环境变量配置文件,在PATH环境变量字符串的最前面添加路径,与后面的用':'分隔,然后保存退出。
    在终端中执行 source /etc/environment
    执行arm-none-linux-gnueabi-gcc -v 可以查看交叉编译器的版本信息。
    注意:安装交叉编译器时以厂商提供的为准。