单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:3555|回复:1
打印上一主题下一主题

ARM9 学习笔记

[复制链接]
跳转到指定楼层
楼主
ID:60076发表于 2014-4-21 16:08|只看该作者回帖奖励
我使用的开发板是TQ2440,芯片S3C2440
2012年12月23日22:36:43
这几天对ARM有关地址 方面疑惑很不少,随着不停地搜索资料和看视频教程,总算有点思路,现整理如下,若路过人看到有错误之处,欢迎提出修正,本人感激不尽。
1.用DNW烧写裸机程序时,DNW软件上的download address是指下载到内存上某处位置(我认为是SDRAM,具体还得看u-boot即bootloader的源代码,我目前还没研究到那) 的地址,下载到那里后,由u-boot里的另外一个命令(nand write)将这些下载过来的数据拷贝到这些数据“应该”处于的位置,如下载运行在nand flash的u-root,会被拷贝到nand flash的0地址处。
2.u-boot中的mtd命令可以查看由u-boot为了方便烧写数据而在nand flash上划分的分区
3. J-Link不能烧写nand flash。
4.在ARM9里面,访问SDRAM的地址,是由SDRAM的容量大小和地址线的接法决定的,具体在ARM9的官方数据手册上有表格描述。
接128M的SDRAM的话,内存的开始地址是0x3000 0000。
5.SDRAM类似内存,因此常在网上的各高手们写的教程资料中被称为内存。使用前需要初始化。
网上有这么一段叙述:
nand flash:适合大容量数据存储,类似硬盘;
nor flash:适合小容量的程序或数据存储,类似小硬盘;
sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。
区别:
nor flash:可以直接执行指令,读取速度较快,写入不太方便,擦除速度较慢。
nand flash:读取速度比nor flash略快,但写入、擦除都较快。但可靠性略低,需要做损耗平衡、数据校验等。
因此:nor适合做程序存储,nand适合做大容量数据存储。二者都可以掉电保存数据/程序。
sdram:掉电后数据不保存,运行时需要动态刷新,但读取速度都比flash快,适合启动后的程序执行。使用前需要初始化。
6.S3C2440A采用的是ARM920T的核心。
7.SRAM:静态随机存储器,就是它不需要刷新电路,不像动态随机存储器那样,每隔一段时间就要刷新一次数据。但是他集成度比较低,不适合做容量大的内存,一般是用在处理器的缓存里面。像S3C2440的ARM9处理器里面就有4K的SRAM用来做CPU启动时用的。
8.在编程软件中,常提到RO,RW的设置。RO是指read only ,一般设置为Flash起始地址,对于ARM,都是0x0的。RW是read and write,指RAM地址,一般设置为内部SRAM起始地址,默认跟在RO后面


2012年12月26日18:28:14
困扰了两天,想用keil arm 来开发和调试ARM裸机程序,但总是下载不了,调试有时也不行,原来还有一个问题我没理解。
就是需要设置一个的正确烧写nor flash。但是不是选择里面原有的S3C2440 Nand flash SP,这个错误我一直没发现。。。而是选择与TQ2440开发板使用的nor Flash相近的算法,不过这个算法说是不能擦除。不过没关系,可以用JFlash ARM来擦除。
是这两篇文档解救了我,也使我更加了解ARM。哈哈!谢谢两位作者。我现在可以调试和烧写裸奔程序了。~~~高兴!
http://www.docin.com/p-307947458.html
http://wenku.baidu.com/view/854e ... ?from=rec&pos=3

不过也反映了一个问题,自学就是这么碰运气,找到相关资料,再经过自己整理思考才能解决自己遇到的问题,如果是有老师带的话,或许可以立即解开,但是不够自己去找资料了解得多,虽然很困难,因为ARM还处于比较领先的科技前沿,相关文档不如51、ARM多,但会用搜索引擎的关键字的话,对我来说成功解决问题的几率还是比较大的
沙发
ID:63747发表于 2014-7-18 17:37|只看该作者
谢谢分享

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网