打印

关于中颖单片机ROM问题

[复制链接]
2485|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tjx727|  楼主 | 2009-9-20 22:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
看中颖单片机入门与实践的时候,在看到ROM的组织的时候,看了半天没有搞清楚,每个BANK到底对应哪些内存单元,哪位熟悉的人能够帮我讲解下,谢谢了。

SH6 ROM.JPG (109.92 KB )

SH6 ROM.JPG
沙发
warm_ice| | 2009-9-21 09:12 | 只看该作者
ROM是每4K为一个BANK,但每个4K ROM BANK的前2K都是共用的。这样你就应该能理解了。

使用特权

评论回复
板凳
hsbjb| | 2009-9-21 14:37 | 只看该作者
前2K为什么要共用呢

使用特权

评论回复
地板
warm_ice| | 2009-9-21 15:56 | 只看该作者
前2K为什么要共用呢
hsbjb 发表于 2009-9-21 14:37

这个跟IC内核及指令有关,JMP指令可寻址4K,CALL,RTNI等只能寻址2K,在程序中要执行CALL,RTNI等只能寻址2K的指令时,要保证执行完毕后正确返回到原来的地址,故有2K是共用的。

使用特权

评论回复
5
常来21IC| | 2009-9-22 16:52 | 只看该作者
没有用过中颖,用过累世分bank的MCU...   
我的理解
bank0是公共区,随时都可以被cpu访问到。
bank1----bank15同一时刻只能有一个bank能被cpu访问到,当从bank1跳转到bank2(或者其他bank)的时候,MCU就会执行翻bank。翻bank一般都是MCU自动完成的,但是编译出来的代码放在哪个bank、以及何时执行翻bank需要程序员合理规划。

我使用的MCU内部有用于运行代码的4KSRAM,系统工作前MCU会自动把bank0公共区拷贝到期中的2k,剩余的2kSRAM在翻到哪个bank的时候,就会把哪个bank的代码完全拷贝进来。这样代码在SRAM跑速度更快,也能更省功耗。

哎总之这个分bank的架构对程序员比较头痛...

使用特权

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

本版积分规则

个人签名:我们在追忆中展望­ 在展望中  调整着向前的步伐 个人新浪微博:http://t.sina.com.cn/tjx727­

30

主题

322

帖子

0

粉丝