搜索
bottom↓
回复: 27

想了解下51里面的关于KEIL-BANK分页的东西

[复制链接]

出0入14汤圆

发表于 2016-8-9 19:53:33 | 显示全部楼层 |阅读模式
今天弄一个demo程序的时候发现里面有生成了两个文件  .H00  .H01

查了下,原来是里面设置了超过64K的程序 就分页?

现在有几点不明白的,请教各位大神?

1、分页有什么好处?按照我的理解,最终烧录到芯片里的还是一个完整的程序,何必分页?

2、超过64K,是指的64K HEX文件  还是 指BIN 文件?

3、如果51 的程序存储区只有64K,那么超过了64K的程序也没有意义了啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入14汤圆

 楼主| 发表于 2016-8-9 20:14:38 | 显示全部楼层
有人了解??????????????

出10入10汤圆

发表于 2016-8-9 22:53:43 | 显示全部楼层
51单片机的程序寻址空间为64KB, 但实际程序大于64KB时就需要用到BANK分页。说白了就是增加地址线,通过控制地址线来控制运行哪部分程序,

出0入93汤圆

发表于 2016-8-9 23:04:01 | 显示全部楼层
超过64K是指BIN
用keil的bank可以突破51固有的64k限制

出0入14汤圆

 楼主| 发表于 2016-8-9 23:30:59 | 显示全部楼层
tim 发表于 2016-8-9 23:04
超过64K是指BIN
用keil的bank可以突破51固有的64k限制

这个也就是程序在外部的DDR里面运行的时候?

出0入93汤圆

发表于 2016-8-9 23:39:23 | 显示全部楼层
isakura 发表于 2016-8-9 23:30
这个也就是程序在外部的DDR里面运行的时候?

51不支持DDR。
Keil通过bank技术扩展的是ROM或(和)RAM
---------------
现在32位MCU已经比较普及,Keil的这个技术实用意义不大了,楼主如果是初学,可以先不必在这上面花精力

出0入0汤圆

发表于 2016-8-10 00:00:39 | 显示全部楼层
如果程序很大,超过64KB了,可以扩展程序存储空间
51单片机 旁边还可以放一个64KB的FLASH芯片,当动程序存储

出0入14汤圆

 楼主| 发表于 2016-8-10 00:41:10 | 显示全部楼层
woshigeshuai 发表于 2016-8-10 00:00
如果程序很大,超过64KB了,可以扩展程序存储空间
51单片机 旁边还可以放一个64KB的FLASH芯片,当动程序存 ...

flash只是用来保存程序吧,程序运行中的那些数据不是在flash中啊
-------------
我现在用的一个是51内核的芯片,外部有DDR,flash

里面的机制应该是怎么样?

我的理解是 程序及相应的const数据  保存在flash里面,当上电的时候51把程序拷贝到DDR中运行

那么51的中断定时器那些又是怎么回事呢?还是有一部分程序在51的RAM中,一部分在DDR中?

出0入14汤圆

 楼主| 发表于 2016-8-10 00:41:37 | 显示全部楼层
tim 发表于 2016-8-9 23:39
51不支持DDR。
Keil通过bank技术扩展的是ROM或(和)RAM
---------------


我现在用的一个是51内核的芯片,外部有DDR,flash

里面的机制应该是怎么样?

我的理解是 程序及相应的const数据  保存在flash里面,当上电的时候51把程序拷贝到DDR中运行

那么51的中断定时器那些又是怎么回事呢?还是有一部分程序在51的RAM中,一部分在DDR中?

出0入0汤圆

发表于 2016-8-10 07:31:36 来自手机 | 显示全部楼层
当年我们曾把一个51程序搞到400多k,keil的邦助中有详细的说明

出0入0汤圆

发表于 2016-8-10 08:26:23 | 显示全部楼层
400K是什么概念。做什么大项目。

出95入8汤圆

发表于 2016-8-10 08:51:45 来自手机 | 显示全部楼层
rom分页有好处啊,比如boot区只读,app区运行状态只读,下载状态可写。。。。比如研究西门子s7—200,就有51

出50入0汤圆

发表于 2016-8-10 09:01:56 | 显示全部楼层
51单片机的寻址范围最大只能64K,超过64K的程序就要用到分页。

出0入8汤圆

发表于 2016-8-10 11:01:14 | 显示全部楼层
本帖最后由 kebaojun305 于 2016-8-10 11:03 编辑

PIC的一直分页  ROM和 RAM都分页  实际就是地址线不够用了, 多加的地址线

出0入0汤圆

发表于 2016-8-10 11:43:18 | 显示全部楼层
tangnyzl 发表于 2016-8-10 07:31
当年我们曾把一个51程序搞到400多k,keil的邦助中有详细的说明

400多K,怎么扩展出来的额?

出0入0汤圆

发表于 2016-8-10 23:48:31 | 显示全部楼层
8个bank 51极限了

出0入0汤圆

发表于 2016-8-11 00:38:58 来自手机 | 显示全部楼层
外扩分页和芯片内部分页不同。芯片内部blank就是降低成本省了地址线。4k空间分4个blank.写程序好累。

出10入113汤圆

发表于 2016-8-11 07:33:00 | 显示全部楼层
这种级别的程序就别用51了,上ARM吧。

出25入12汤圆

发表于 2016-8-11 07:53:06 | 显示全部楼层
要用到这个还是换片子吧, 我以前用upsd3354, 可以分8页, 要用普通51的话,稍微麻烦点,这个不算啥,等你写程序的时候还有限制, 有些东西只能放在不分页的部分,我是前32k 不分页, 后面32k 分8个页面,


前面32k 都快用完了,  还有要不是upsd3354这种, 真不敢想调试和 烧程序是什么样子, 估计得累死

出350入477汤圆

发表于 2016-8-11 09:15:15 来自手机 | 显示全部楼层
chenerbox2 发表于 2016-8-11 07:53
要用到这个还是换片子吧, 我以前用upsd3354, 可以分8页, 要用普通51的话,稍微麻烦点,这个不算啥,等你写程序 ...

中断函数就只能在不分页区。
不管你运行在哪个页,发生中断时都得能找到。

出0入10汤圆

发表于 2016-8-11 09:22:34 | 显示全部楼层
51内核的话IAR的bank机制更好,我用51的ram做12个bank轻松跑几百k的代码  
                                                                                                   
                                                                                                
                                                                                                
                                                                                            
                                                                                               

出0入8汤圆

发表于 2016-8-11 10:20:47 | 显示全部楼层
台系的视频处理芯片、TV芯片比较常见,51外扩2MB程序flash,通过分页实现大程序的执行。
通用单片机基本上被32位单片机取代了

出0入0汤圆

发表于 2016-8-11 10:43:38 | 显示全部楼层
这个年代,换32位单片机

出0入14汤圆

 楼主| 发表于 2016-8-11 23:36:13 | 显示全部楼层
waterghost 发表于 2016-8-11 00:38
外扩分页和芯片内部分页不同。芯片内部blank就是降低成本省了地址线。4k空间分4个blank.写程序好累。 ...

不是自动分的吗?程序还要做额外处理啊

出0入14汤圆

 楼主| 发表于 2016-8-11 23:38:01 | 显示全部楼层
饭桶 发表于 2016-8-11 07:33
这种级别的程序就别用51了,上ARM吧。

专用芯片内部集成了51内核的,芯片的重点不是51,而是其他的处理

出0入14汤圆

 楼主| 发表于 2016-8-11 23:39:08 | 显示全部楼层
liwei_jlu 发表于 2016-8-11 10:20
台系的视频处理芯片、TV芯片比较常见,51外扩2MB程序flash,通过分页实现大程序的执行。
通用单片机基本上 ...

是的,我的就是视频处理芯片,你也是行家啊
头像被屏蔽

出0入0汤圆

发表于 2016-8-11 23:57:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入14汤圆

 楼主| 发表于 2016-8-12 10:59:27 | 显示全部楼层
bbs2009 发表于 2016-8-11 23:57
确定 这个专用芯片  支持DDR?

是的,w9425g6jh,这个没搞懂是51内核支持的,还是视频处理支持的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表