服务热线:
产品中心

【ARM学习笔记】三、S3C2440A的存储控制器及启动过程

发布时间: 2023-10-11 22:21:58 来源:产品中心

详细信息

  上图左边表示不使用Nand Flash作为启动ROM时的映射图,正常的情况指的是使用Nor Flash作为启动ROM,这时,Nor Flash使用BANK0,使用的总线,片内内存“Steppingstone”使用的总线FFF

  上图右边表示使用Nand Flash作为启动ROM,这时,片内内存“Steppingstone”占用总线FFF,Nor Flash将没办法使用(至于原因,看完下面就知道了)

  S3C2440A在上电后,将开始从总线A的启动方式由其两个引脚OM0和OM1控制,请看下图

  由上图可知,S3C2440A支持两种启动模式:Nand和非Nand(一般是Nor Flash),具体采用的方式取决于OM0、OM1两个引脚的状态。

  Nor Flash拥有与内存相同的接口,可以接在存储控制器上被CPU直接访问,但由于寿命低,容量小,价格贵,一般都使用Nand Flash作为首选启动方式

  而根据Nand Flash的特性,其访问方式较Nor Flash复杂,只能接在Nand Flash控制器上被CPU间接访问

  如果S3C2440被配置成从Nand Flash启动,在S3C2440上电后,Nand Flash控制器的会自动的把Nand Flash上的前4K数据复制到内部SRAM中,也是所谓的“Steppingstone”,同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。系统会从这个内部SRAM中启动,程序员需要完成的工作,就是把最核心的启动程序放在Nand Flash的前4K中,也就是说,你需要编写一个长度小于4K的引导程序,作用是将主程序拷贝到外部RAM (一般是SDRAM)中运行。

  而在Nand Flash方式启动的情况下,系统是“看不到”Nor Flash的,因为Nor Flash也是挂在nGCS0(nGCSx指的是片选引脚,nGCS0对应BANK0)上的,而nGCS0的地址空间已经被占用了。

  当选择从Nor Flash启动时,应该要依据Nor Flash的位宽来配置OM1和OM0引脚,当位宽为16bit时,OM1和OM0应该分别是低电平和高电平;当位宽为32bit时,OM1和OM0应该分别是高电平和低电平。

  此时,Nor Flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,而片内SRAM的起始地址映射到了0x40000000)。 然后S3C2440A从0x00000000开始运行(也就是在Nor Flash中运行)。

  从上面可知,CPU只能从总线启动,所以在使用Nor Flash启动时,程序能直接在Nor Flash执行,而无需片内SRAM辅助,Nor Flash占用总线

  如果使用Nand Flash启动时,需要片内SRAM辅助启动,片内SRAM占用总线,Nor Flash没办法使用(貌似Nor Flash只能接在BANK0上面)

  下一篇:【ARM学习笔记】实验三:S3C2440A与内存SDRAM连接实验

  0 引言 在开发嵌入式系统时,一般选择基于ARM 和uC/ OS - II 的嵌入式开发平台,因为ARM 微处理器具有处理速度快、超低功耗、价格低、应用前景广泛等优点 . 将uC/ OS - II 移植到ARM 系统之后,可以充分结合两者的优势. 如果一个程序在一个环境里能工作,我们大家常常希望能将它移植到另一个编译系统、处理器或者操作系统上,这就是移植技术.移植技术能使一种特定的技术在更广泛的范围使用,使软件使用灵活性更好,不局限于某一条件.uC/OS - II 是由Jean J . Labrosse 先生编写的完整的可移植、固化、裁剪的占先式实时多任务内核.uC/ OS - II 的源代码完全开放,这是其他商业实时内核无

  恩智浦 半导体NXP Semiconductors N.V.日前宣布推出业界最高性能的ARM Cortex-M3 微控制器 。LPC1800的低功耗优化设计使其在极低频率到150Mhz范围内最大发挥Flash或RAM的性能。此性能为大量要求严苛的应用提供了最大的连接和带宽选择。灵活的双单元256位宽Flash 存储器 支持并行读、写操作,可保存“黄金副本”,防止重新编程中出现失误,也可以简单地作为单存储单元使用。LPC1800也支持两种最新外设:灵活四路SPI接口和可配置定时器子系统。 恩智浦半导体副总裁、微控制器产品线总经理Geoff Lees表示,“LPC1800为ARM Cortex-M3微控制器树立了新的

  超低功耗Cortex-M0+ L0系列入门 L0系列是于2014年新推出的超低功耗的MCU,基于 Cortex M0+内核。目前有0x1,STM32L0x2,STM32L0x3三个子系列,默认主频为32M,都是8KB,最大片上flash为64KB。

  1.PRESERVE8: Reguire8和Preserve8 C和汇编有8位对齐的要求,这两个伪指令能够完全满足此要求,存在REQUIRE8 PRESERVE8的对应关系,但不是说有一个REQUIRE8就要有一个 PRESERVE8,如果是一个c文件和一个汇编文件的调用,也就涉及一个PRESERVE8或者是一个REQUIRE8. 另外,REQUIRE8和PRESERVE8并不完成8 byte 对齐的操作,对齐由ALIGN完成。 将ADS的代码移植到KEIL MDK上需要做的修改: 当用户拥有ADS遗留工程的所有源代码时,使用MDK重新编译链接全部代码是最好的解决办法,MDK中的新版本编译工具会重新生成满足堆栈8

  飞利浦电子公司日前宣布开始供应业界第一个ARM9核心的90纳米微控制器LPC3180。飞利浦这一全新的32位MCU不仅提供高效能和低功耗,也是唯一提供矢量浮点协处理器和整合的USB On-The-Go,以及在低至0.9V电压的超低功耗模式下运行能力的ARM9微控制器。飞利浦LPC3180的最高速度可达208MHz,是许多高精度应用的理想选择,例如销售点(POS)设备、医疗及工业装置、全球定位系统(GPS)和机器人等。 飞利浦半导体微控制器产品线产品创新总监Ata Khan表示:“藉由先进的90纳米工艺技术的优势,飞利浦能够开发具有高计算性能并针对低功耗运行最优化的最先进的ARM9 MCU。LPC3180推出之后,即使是低成本

  中断的处理分为三个部分: 1、中断检测: arm架构下,中断监测部分的代码是需要用户自己开发的,可以借鉴ambaIntrCtl.c,要实现函数xxxIntLvlVecChk、xxxIntLvlVecAck、xxxIntLvlChg、xxxIntLvlEnable、xxxIntLvlDisable和xxxIntDevInit,在函数xxxIntDevInit中把其他几个函数分别挂载在sysIntLvlVecChkRtn、sysIntLvlVecAckRtn、sysIntLvlChgRtn、sysIntLvlEnableRtn和sysIntLvlDisableRtn这几个钩子函数上。xxxIntDevInit在sysLib.c

  本实验介绍怎么样去使用SDRAM,这需要设置13个寄存器。呵呵,别担心,这些寄存器很多是类似的,并且由于我们只使用了BANK6,大部分的寄存器我们不必理会: 1.BWSCON:对应BANK0-BANK7,每BANK使用4位。这4位分别表示: a.STx:启动/禁止SDRAM的数据掩码引脚,对于SDRAM,此位为0;对于SRAM,此位为1。 b.WSx:是否使用存储器的WAIT信号,通常设为0 c.DWx:使用两位来设置存储器的位宽:00-8位,01-16位,10-32位,11-保留。 d.比较特殊的是BANK0对应的4位,它们由硬件跳线决定,只读。 对于本开发板,使

  Unix系统通过向内核发出系统调用(system call)实现了用户态进程和硬件设备之间的大部分接口。系统调用是操作系统提供的服务,用户程序通过种种系统调用,来引用内核提供的各种服务,系统调用的执行让用户程序陷入内核,该陷入动作由swi软中断完成。 应用编程接口(API)与系统调用的不同在于,前者只是一个函数定义,说明了如何获得一个给定的服务,而后者是通过软件中断向内核发出的一个明确的请求。POSIX标准针对API,而不针对系统调用。Unix系统给程序员提供了很多API库函数。libc的标准c库所定义的一些API引用了封装例程(wrapper routine)(其唯一目的是发布系统调用)。通常情况下,每个系统调

  Linux系统调用流程详细解析SWI /

  编程实战

  Cortex-M微处理器

  报名赢【挂灯、浴巾】等好礼|TI MSPM0家用电器和电机控制应用详解

  有奖直播:助力AI算力,下一代GPU服务器中卡缘高速互连解决方案哪里找?

  有奖直播:安世半导体先进 SiC MOSFET 助力提升 EV-Charger 和 OBC 应用能效

  参赛冲击【万元大奖】啦|2023 DigiKey“智造万物,快乐不停”创意大赛

  2023 DigiKey KOL 系列——将TinyML融入IoT物联网应用中

  【下载】LAT1289 Keil、IAR、CubeIDE中变量不被初始化方法

  【下载】LAT1288 STM32 G474中Triggered-half模式的实现

  【下载】LAT1309 一步一步创建STM32WBA BLE_Custom工程

  【课程】STM32 & X-Cube-TouchGFX GUI开发实践

  【直播】STM32H5系列:强大的ARM® CORTEX®-M33 MCU让高性能和安全性唾手可得

  【直播】STM32U5系列扩充新成员-探索更安全,更高效,更节能的设计

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  STM32Cube.AI开发者云:只需四个步骤,轻松将AI集成到MCU

  使用Platformio平台的libopencm3开发框架来开发STM32G0,以下使用软件模拟I2C总线时序,并用它来读取GXHT30温湿度数据。1 新建项目建立gxh ...

  科学技术的快速地发展大幅度的提升了人们的生活质量,智能家居作为高品质生活的代表产品慢慢的受到人们的关注。智能家居是以居家环境为平台,融合 ...

  通用串行总线(USB,universalserialbus)由于具有高传输速率、即插即用和易于扩展等优点而被大范围的应用于计算机外设、数字设备和仪器仪表等 ...

  前段时间用STM32F103VBT6写了一个中断的函数,借此机会想了解下STM32的中断机制,用过之后发现STM32的中断配置相当灵活,稳定行很高,测试 ...

  ADS1246是TI公司大致在2009年中期推出的24位ADC,最高采样速率可达2Ksps,其为单通道器件,与之相对应的还有ADS1247和ADS1248三通道器件, ...

  2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  打破协议壁垒,增强智能座舱体验,金脉推出国产前装车载手机无线充电解决方案

  杰发科技发布首款符合功能安全ASIL-D多核高主频车规MCU芯片AC7870x 布局高端MCU市场

  是德科技电子书 《X-Apps藏宝图: 能够加速测试的信号分析仪必备测量App》下载有好礼!

  站点相关:综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程