启动代码是系统上电或复位以后运行的第一段代码,它的作用是在用户程序运行之前对系统硬件及软件运行环境进行必要的初始化并在最后使程序跳转到用户程序,它直接面对ARM 处理器内核及硬件控制器进行编程,所执行的操作与具体的目标系统紧密相关。
S3C2440 支持两种方式的启动:Nor Flash 启动和Nand Flash 启动。Nor Flash 和Nand Flash 都是非易失性存储器,Nor Flash 的特点是芯片内执行,程序可以直接在其中运行,而不必将程序读取到RAM 中运行。Nor Flash 虽然具有这个优点,但是它的性价比远低于Nand Flash,因而很多系统采用Nand Flash 启动。Nand Flash 的特点是采用非线性存储模式,程序无法在其中运行,它只能作为程序或数据的存储载体,存储在其中的程序只能先拷贝到RAM 中才能运行。 从Nor Flash 启动时,与nGCS0 相连的Nor Flash 就被映射到nGCS0 片选的空间,其地址被映射为0x00000000;从Nand Flash 启动时,S3C2440 芯片内部自带的一块容量为4K 的被称为“Steppingstone”(“起步阶石”)的BootSRAM 被映射到nGCS0 片选的空间,其地址被映射为0x00000000。当系统上电或复位时,程序会从0 地址处开始执行,因此我们编写的启动代码要确保存储在0 地址处。
当启动方式为Nor Flash 启动时,没有额外需要考虑的问题,因为这种情况下程序在系统启动前就存储在Nor Flash 中,我们只要保证将启动代码保存在Nor Flash 开始的位置即可,系统上电或复位时,0 地址处的启动代码就会被执行。
在启动方式为Nand Flash 启动的情况下,系统启动前所有的程序存储在Nand Flash 中,系统的启动过程稍微有点复杂:系统上电或复位时,0 地址处为S3C2440 内部自带的BootSRAM,启动前里面没有任何存储内容,启动后S3C2440 先通过硬件机制将Nand Flash 前4K 的内容拷贝至其中,然后再运行里面的程序(从0 地址处)。这种情况下我们需要保证将启动代码保存在Nand Flash 开始的位置,并且启动代码的大小要小于4K。如果系统的所有程序在编译链接后的大小小于4K,那在系统的启动代码中无需考虑将程序从Nand Flash 搬运到SDRAM 这个问题,因为所有的程序在启动时即全部由Nand Flash 拷贝至BootSRAM,程序在BootSRAM 中运行即可;如果系统的所有程序在编译连接后的大小大于4K,那在系统的启动代码中需要包含一段将系统的全部程序从Nand Flash 搬运到SDRAM 的代码,因为系统启动时只将Nand Flash 的前4K 拷贝到了BootSRAM 中,还有部分程序保存在Nand Flash 中, Nand Flash 中是无法运行程序的,需要将所有程序拷贝至SDRAM 并在其中运行,所以在系统的启动代码中要包含这段有关程序拷贝的代码,并在所有程序拷贝完成后使程序跳转到SDRAM 中运行。也就是说在启动方式为NandFlash 启动的情况下,因为Nand Flash 的特性,程序需要涉及到两次的搬移,一次是从Nand Flash 搬移到BootSRAM,搬运的程序量大小是4K,目的是使系统能够启动;第二次搬运是从Nand Flash 搬运到系统的SDRAM,如果系统的所有程序量小于4K,这一步可以省略,搬运的程序量大小是系统的所有程序,目的是使程序在SDRAM 中运行。第一次搬运是S3C2440 通过硬件机制自动实现的,我们无需干预,第二次则需要我们程序员来实现。
上一篇:关于ARM的22个概念
下一篇:ARM920T看门狗定时器、系统时钟
推荐阅读
史海拾趣
随着业务规模的扩大,Frolyt Condensers & Elements GmbH意识到全球化布局的重要性。2010年,公司制定了全球化战略,首先在亚洲设立了生产基地,以利用当地丰富的资源和低廉的劳动力成本。随后几年间,Frolyt还通过一系列并购活动,收购了多家在特定市场具有影响力的电容器制造商,进一步巩固了其在全球市场的地位。这些并购不仅扩大了Frolyt的产品线,还增强了其技术研发能力和市场服务能力。
随着全球化进程的加速,Brainboxes逐渐将业务拓展至全球范围。公司在多个国家和地区设立分支机构或销售网络,以便更好地服务当地客户。同时,Brainboxes也在不断探索新的应用领域和市场机会,为公司的未来发展奠定坚实基础。展望未来,Brainboxes将继续致力于技术创新和市场拓展,为电子行业的发展贡献更多力量。
这五个故事分别展现了Brainboxes公司在电子行业中的创立与发展、技术创新与荣誉、内部制造与供应链、客户亲密度与工业连接以及全球布局与未来展望等方面的事实。通过这些故事,可以更加全面地了解Brainboxes公司在电子行业中的成长轨迹和发展成就。
Dearborn Electronics Inc.于1952年在芝加哥注册成立,由一群电子工程师和企业家共同创立。他们看到了当时电子行业对高性能电容器和滤波器的迫切需求,于是决定专注于这一领域。公司初期主要生产薄膜电容器和EMI/RFI滤波器,凭借卓越的产品质量和稳定的性能,逐渐在电子行业中建立了良好的声誉。
1962年,赫尔穆特•维茨(Helmut Vietze)加入Baumer Electric Ag,成为一名模具制造工。他凭借出色的个人能力和工作表现,很快在公司中脱颖而出。1964年,公司创始人Herbert Baumer去世后,Helmut Vietze接管了管理层,并带领公司走向新的发展阶段。他的领导为公司注入了新的活力,推动了Baumer在技术和市场上的双重突破。
为了进一步扩大市场份额,磁联达(CND-tek)公司决定拓展海外市场。公司组建了一支专业的国际销售团队,积极参加国际电子展会和交流活动,与全球各地的客户建立了紧密的合作关系。同时,公司还加大了对海外市场的投入,设立了多个海外办事处和仓库,为客户提供更加便捷的服务。这些举措使得磁联达(CND-tek)的产品迅速走向全球,赢得了广泛的赞誉。
Centellax Inc公司自成立以来,一直致力于电子通信技术的研发与创新。在成立初期,公司凭借其独特的测试测量技术,在光通信行业中崭露头角。随着技术的不断迭代和市场的扩大,Centellax逐渐积累了大量的专利和知识产权,为公司的长期发展奠定了坚实的基础。
在技术创新方面,Centellax不断投入研发资源,推出了一系列高性能的测试测量设备。这些设备不仅满足了客户对高速器件深入分析的需求,还提升了公司在行业内的竞争力。同时,Centellax还积极与高校、研究机构等合作,共同推动电子通信技术的进步。
有调通过marvell wifi 8686 sdio接口驱动来讨论下??? 正在调sdio接口的wifi 8686驱动,sdio确认好的,读写寄存器,加载固件都没问题。有以下问题: 1. 我是直接把驱动放在bsp中编的,wince启动后自动加载wifi驱动, 并且这个wifi驱动会自行搜索热点。我的理解是wifi驱动加载固件启动完wifi芯片注册网络 ...… 查看全部问答∨ |
|
用电位器输出一个电压值,从我watch窗口看到的ADCresult值都在变化,变化比较大。如0xabc0,b为都会能差4,帮忙分析一下可能那里设置不对。谢谢!… 查看全部问答∨ |
从参加抢LM3S811的活动后,每天都期待啊,终于在4.26的下午,顺风快递发来信息去取快递,其实已经料到是811到啦,好兴奋的跑到校门口外迎接顺风,领到包裹后,回寝室迫不及待的打开它,没错是811 。用811把我以前的LCD有重新驱动了起来,下面是我这 ...… 查看全部问答∨ |