打印
[Kinetis]

【读书笔记2 对地址映像以及实际存储空间的疑惑】

[复制链接]
3712|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
springvirus|  楼主 | 2013-10-22 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. 书中描述有“K60系列控制器的RAM地址空间有2个部分,第一部分为SRAM_L,地址范围为0x1800_0000~0x1FFF_FFFF,  共128MB,第二部分为SRAM_U,地址范围为0x2000_0000~0x200F_FFFF,共1MB。”紧接着后面说到“MK60N512VMD100芯片的实际RAM存储器大小是128KB,其地址范围是0x1FFF_0000~0x2000_FFFF”。

问题:为什么实际存储空间远远小于可分配的空间?

2. 另外看到讲晶振电路部分,“K60共需要两个晶振,一个是芯片的主晶振,另一个是RTC的晶振”,还说到苏州大学飞思卡尔中心开发的板子,主晶振用的是50MHz的有源晶振。

问题:为何设计成需2个晶振,用一个无源晶振,片内外设若需其他频率的时钟,可以使用分频和倍频进行控制产生啊,这里设计的板子还用了一个有源晶振,系统整个功耗岂不增加了?

3. 赞同硬件最小系统测试方法中的“焊完一个模块后,应紧接着测试该模块工作是否正常,切忌焊接多个模块后,再进行测试,因为一旦出现问题,就很难定位具体是哪个模块的问题。”  

总结:确实是这样,特别是系统要驱动很多外设,调试的具体方案显得尤为重要。

4. 再说个小插曲吧(^_^)
看到page29上的图2-1中,对锁头图标的注释,"加密和防窜改检测",第一感觉应该是“防篡改”,后来搜了下,两个词释义如下:
“窜改”的对象一般是文字、词语、成语、文件、古籍、账目等,多是具体的书面材料里的字句。
“篡改”多指精神实质方面的改动。“篡改”的对象一般是历史、经典著作、理论、学说、政策、指示等。也就是说,用假的、错的代替正确的东西,用作伪的手段对某些理论或精神实质进行改动或曲解。
即书中用词正确,并无错误。

相关帖子

沙发
55854234| | 2013-10-22 10:11 | 只看该作者
看来 板子你势在必得啊

使用特权

评论回复
板凳
123de7| | 2013-10-22 10:15 | 只看该作者
好吧,顶一个,**啊

使用特权

评论回复
地板
motodefy| | 2013-10-22 10:21 | 只看该作者
觉得吧···RTC的晶振一般都是外接的,主要给RTC提供,为了提高RTC的精度吧,至少我手上的几块板子都是这样的

使用特权

评论回复
5
springvirus|  楼主 | 2013-10-22 10:41 | 只看该作者
motodefy 发表于 2013-10-22 10:21
觉得吧···RTC的晶振一般都是外接的,主要给RTC提供,为了提高RTC的精度吧,至少我手上的几块板子都是这 ...

觉得外围电路还是越精简越好~

使用特权

评论回复
评论
gcxzhz 2013-10-22 18:51 回复TA
商业用的不是精简,稳定性更重要 因此会使用有源晶振 
6
springvirus|  楼主 | 2013-10-22 10:42 | 只看该作者
123de7 发表于 2013-10-22 10:15
好吧,顶一个,**啊

**是一定的~

使用特权

评论回复
7
FSL_TICS_Admin| | 2013-10-22 11:03 | 只看该作者
针对你的问题我给出一些解答.
问题1. 后面的那一句不准确,前面的那句正确.你在看书的时候,同时也要参考我们的手册.
问题2. 每个晶振有每个晶振的作用.毕竟内部晶振的精度不高的.关于整体功耗的问题,外部晶振一定要使能之后才能工作,所以可以这样讲,也不增大功耗.
问题3. 我个人也很赞同.
问题4. 呵呵,不错,看的很细,值得鼓励.

使用特权

评论回复
8
springvirus|  楼主 | 2013-10-22 11:05 | 只看该作者
FSL_TICS_Admin 发表于 2013-10-22 11:03
针对你的问题我给出一些解答.
问题1. 后面的那一句不准确,前面的那句正确.你在看书的时候,同时也要参考我们 ...

谢谢版主鼓励!

使用特权

评论回复
9
FSL_TICS_ZJJ| | 2013-10-22 11:06 | 只看该作者
你好,对于您的问题,我的回答如下:
1,书中写SRAM的地址范围有两部分,第一部分为SRAM_L,地址范围为0x1800_0000~0x1FFF_FFFF,  共128MB,第二部分为SRAM_U,地址范围为0x2000_0000~0x200F_FFFF,共1MB
其实这个地址是对于芯片的系统内部地址的分配,是为了提供扩展使用,比如外挂SRAM什么的,实际的大小以芯片DATASHEET为准。当然,每款芯片也会标出它的SRAM大小。
2,使用多个时钟系统,是为了让时钟分频,模块时钟使用起来更加灵活。比如某些模块有用自身专用的时钟源,而您说的功耗增加完全没有必要担心,因为如果你不用的话,可以关掉相应的开关。

使用特权

评论回复
10
springvirus|  楼主 | 2013-10-22 12:27 | 只看该作者
本帖最后由 springvirus 于 2013-10-22 12:30 编辑

FSL_TICS_Admin 发表于 2013-10-22 11:03

针对你的问题我给出一些解答.
问题1. 后面的那一句不准确,前面的那句正确.你在看书的时候,同时也要参考我们 ...


您是指实际存储器大小是128KB,这句有问题吗?
找到这个datasheet,有说up to 128KB RAM

K60P144M100SF2(Rev.6-2011.9-Data Sheet-Technical Data).pdf (1.96 MB)

使用特权

评论回复
11
springvirus|  楼主 | 2013-10-22 12:31 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-10-22 11:06
你好,对于您的问题,我的回答如下:
1,书中写SRAM的地址范围有两部分,第一部分为SRAM_L,地址范围为0x180 ...

谢谢,学习了!

使用特权

评论回复
12
FSL_TICS_ZJJ| | 2013-10-22 13:22 | 只看该作者
springvirus 发表于 2013-10-22 12:27
您是指实际存储器大小是128KB,这句有问题吗?
找到这个datasheet,有说up to 128KB RAM


DATASHEET中说的是这些型号中的实际RAM最大有128K。

使用特权

评论回复
13
springvirus|  楼主 | 2013-10-22 13:40 | 只看该作者
FSL_TICS_ZJJ 发表于 2013-10-22 13:22
DATASHEET中说的是这些型号中的实际RAM最大有128K。

是,这个系列里的最大可到128,这句 "后面的那一句不准确",是说哪句话不对?

使用特权

评论回复
14
FSL_TICS_ZJJ| | 2013-10-22 14:02 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2013-10-22 15:29 编辑

哦,是这样的,他的意思是你说的这句话“紧接着后面说到“MK60N512VMD100芯片的实际RAM存储器大小是128KB,其地址范围是0x1FFF_0000~0x2000_FFFF”。

前面的实际RAM存储器大小是128KB这句是对的,但是后面的地址范围书上讲的0x1FFF_0000~0x2000_FFFF,是根据实际内存来分配的。
如下图(来自K60的reference manual)

实际地址范围是这么算的,其中SRAM_size是实际SRAM大小。


使用特权

评论回复
15
FSL_TICS_ZJJ| | 2013-10-22 14:02 | 只看该作者
springvirus 发表于 2013-10-22 13:40
是,这个系列里的最大可到128,这句 "后面的那一句不准确",是说哪句话不对? ...

回答在14楼!

使用特权

评论回复
16
springvirus|  楼主 | 2013-10-22 15:19 | 只看该作者
本帖最后由 springvirus 于 2013-10-22 15:23 编辑
FSL_TICS_ZJJ 发表于 2013-10-22 14:02
哦,是这样的,他的意思是你说的这句话“紧接着后面说到“MK60N512VMD100芯片的实际RAM存储器大小是128KB, ...


哦,找到了K60 Sub-Family Reference Manual的page106上的原文

片上SRAM被分成了2个等大小的逻辑阵列,SRAM_L和SRAM_U。
SRAM_L被固定在0x1FFF_FFFF,占据以此地址为结束地址的以上空间。
SRAM_U被固定在0x2000_0000,占据以此地址为开始地址的以下空间。

而K60N512的SRAM为128KB,128KB/2 = 64KB = 65536B = 0x0001_0000B 65536 - 1 = 65535 = 0x0000_FFFF

所以 0x2000_0000 - 0x0001_0000 = 0x1FFF_0000
SRAM_L:0x1FFF_0000 ~ 0x1FFF_FFFF

0x2000_0000 + 0x0000_FFFF = 0x2000_FFFF

SRAM_U:0x2000_0000 ~ 0x2000_FFFF

SRAM的地址范围为0x1FFF_0000 ~ 0x2000_FFFF

书上说的没错啊。。。

使用特权

评论回复
17
springvirus|  楼主 | 2013-10-22 15:20 | 只看该作者
本帖最后由 springvirus 于 2013-10-22 15:28 编辑

还有个疑问,书上讲的都是MK60N512VMD100这个型号,然而在K60 Sub-Family Data sheet 和K60 Sub-Family Reference Manual中支持的芯片型号中,没有这个型号。。。
在官网搜这个型号,也没有。。。
最接近的就是这个,MK60DN512ZVMD10了,麻烦讲下历史渊源,谢谢~~

使用特权

评论回复
18
FSL_TICS_ZJJ| | 2013-10-22 15:28 | 只看该作者
springvirus 发表于 2013-10-22 15:19
哦,找到了K60 Sub-Family Reference Manual的page106上的原文

片上SRAM被分成了2个等大小的逻辑阵列, ...

说的非常好!很正确

使用特权

评论回复
19
FSL_TICS_ZJJ| | 2013-10-22 15:30 | 只看该作者
springvirus 发表于 2013-10-22 15:19
哦,找到了K60 Sub-Family Reference Manual的page106上的原文

片上SRAM被分成了2个等大小的逻辑阵列, ...

分析很正确,说的是对的!

使用特权

评论回复
20
FSL_TICS_ZJJ| | 2013-10-22 15:38 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2013-10-22 15:43 编辑
springvirus 发表于 2013-10-22 15:20
还有个疑问,书上讲的都是MK60N512VMD100这个型号,然而在K60 Sub-Family Data sheet 和K60 Sub-Family Ref ...


是这样的,书上讲的就是MK60DN512ZVMD10这个芯片,这是1.X的芯片,有点老了,看到序号中的Z了吗?有Z的就是老芯片。现在的100M芯片有2.x,是更新了很多的东西。所以,你需要了解下K系列的1.X,和2.X的区别。对于这方面,飞思卡尔有个应用笔记专门讲这个区别。 AN4445.pdf (2 MB)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4558

帖子

14

粉丝