• LPC2478内存布局以及启动方式


    LPC2478 是NXP公司推出的一款基于APR7TDMI-S的工控型MCU,内置RAM与flash,同时提供外部扩展flash和ram接口,拥有LCD控制器,其内存布局如下所示


    其中Flash高达512KB,内置RAM96K,但是这96K主要分为三块,用户可用RAM为64K,剩下32K分为两块,一块给以太网当做ram一块当做USB ram,在不启用USB和以太网的情况下,用户可以使用者32K另作他用

    但是,LPC2478或者说LPC的ARM芯片有一个比较有意思的架构叫做BOOTROM,看下图:


    首先,芯片的保留空间内部会有一个bootrom空间,bootrom空间和flash空间之间有一定的联系,联系见下图



    也就是说,2478在复位的时候,MEMMAP的默认复位值是0x00,此时这个0x00地址其实并不是物理地址的0x00,而是相当于一个被映射的BOOTROM区间,这样,bootloader开始执行的同时,中断也可以响应,中断向量在bootrom的底部也就相当于映射到了0x00000000位置

    Bootloader执行完成之后,bootload会将MEMMAP写01,这时候,之前的映射消失,0x00000000重新回到了用户空间,系统在执行复位向量指定的复位函数,从而启动系统

    Bootloader的运行检测了一个IO口的电平,如果该电平为低,则进入等待bootload模式,否则很快就会结束bootloader,进入正常的flash模式

  • 相关阅读:
    [转]java中的匿名内部类总结
    linux 命令总结
    [转载]nohub java -jar xx.jar >/dev/null 2>&1 &
    Java正则表达式Pattern和Matcher类详解
    spark基础知识介绍(包含foreachPartition写入mysql)
    spark 运行架构
    spark核心原理
    行动操作
    控制操作
    键值转换操作
  • 原文地址:https://www.cnblogs.com/dengxiaojun/p/4279404.html
Copyright © 2020-2023  润新知