共2条
1/1 1 跳转至页
51,64K 51单片机的代码区扩展大于64K该怎么进行?
问
51单片机的总线是16位的,就算外扩rom也只能再加64K,如果超过了64K该怎么办呢?
还有啊,以前做外扩ROM的时候都是把代码全部放在外扩里,单片机里面的就空着,这一部分ROM怎么样才能利用起来呢?单片机好像直接支持从内部ROM跳转到外扩ROM的吧?
答 1: 建议去看看Keil帮助中的BANK那一节使用片内ROM时把EA脚接高电平,51芯片对于超出内部容量的地址会自动访问外部ROM的 答 2: 看看例子,keil目录下有!! 答 3: 不用那么麻烦,winbond有现成的W79E532,W78C438C 答 4: 你的程序有那么长么?你的程序有那么长么? 答 5: 这个只是一个假设啊,而且可能性很大的啊这个只是一个假设啊,而且可能性很大的啊
比如代码里包含大量的字库信息的时候代码就会变得其大无比
xwj,EA接高我还是知道的,可是出现内外代码区切换的时候,代码地址是怎么自动完成的呢,难道是8K的结尾直接到外扩的0地址?那么直接跳转指令是怎么执行的?而且地址好像出现重复了啊.....
gwnpeter,例子里面哪一个是相关的啊,能不能说一下啊?
wincpu ,不要这样一位的推销你的芯片嘛.... 答 6: 是向你介绍最简单的解决方案,不是推销芯片winbond代理商,分销商到处都是,你也不一定会和我做生意 答 7: 哦这两个是单片机的型号吧?
似乎还是没有解决代码分段的问题啊 答 8: 单片机的程序做到64K就应该淘汰了!目前的单片机发展趋向于SOC,而且不主张使用总线设备,多用串行设备替代。
在PIC和mot单片机很明显。
如果程序规模大于8K,就应该用其他系列替代51了! 答 9: ...我现在想要讨论的是关于大型代码分段的问题
而不是使用串行设备,更换单片机甚至是趋向SOC的问题....
仅仅只是一个单纯的技术问题,何必搞得怎么复杂? 答 10: 如果是字库如果是字库,那可以用一个任意大的存储器,然后用IO口来访问,不涉及程序超过64K的问题。程序没有超过64K。那些是数据。 答 11: 恩那个只是一个比方...
不知道以后会不会遇到这种情况..... 答 12: 不是“8K的结尾直接到外扩的0地址?”而是8K开始对应到外部ROM 的8k
8K以下的对应到内部FLASH,外部ROM的低8K没用到,浪费了
对于字库可以映射到RAM区作数据或直接在外部ROM分页(还是作为数据用指针寻址,IO口输出页选,程序运行与片类ROM) 答 13: 谢谢xwj~~~具体在keil怎么设置呢??
该不会是利用其他工具软件强行进行分割吧?
如果外部rom对应片内flash的空间都浪费了的话,如果单片机本身就有64K的话,这样的浪费似乎也太大了一点呢 答 14: 会啊,我现在做的显示程序就已经64k了,也在看如何解决比较好会啊,我现在做的显示程序就已经64k了,也在看如何解决比较好。
好像keil里面是由这个功能的,用BL51连接,正在学习中。
还有啊,以前做外扩ROM的时候都是把代码全部放在外扩里,单片机里面的就空着,这一部分ROM怎么样才能利用起来呢?单片机好像直接支持从内部ROM跳转到外扩ROM的吧?
答 1: 建议去看看Keil帮助中的BANK那一节使用片内ROM时把EA脚接高电平,51芯片对于超出内部容量的地址会自动访问外部ROM的 答 2: 看看例子,keil目录下有!! 答 3: 不用那么麻烦,winbond有现成的W79E532,W78C438C 答 4: 你的程序有那么长么?你的程序有那么长么? 答 5: 这个只是一个假设啊,而且可能性很大的啊这个只是一个假设啊,而且可能性很大的啊
比如代码里包含大量的字库信息的时候代码就会变得其大无比
xwj,EA接高我还是知道的,可是出现内外代码区切换的时候,代码地址是怎么自动完成的呢,难道是8K的结尾直接到外扩的0地址?那么直接跳转指令是怎么执行的?而且地址好像出现重复了啊.....
gwnpeter,例子里面哪一个是相关的啊,能不能说一下啊?
wincpu ,不要这样一位的推销你的芯片嘛.... 答 6: 是向你介绍最简单的解决方案,不是推销芯片winbond代理商,分销商到处都是,你也不一定会和我做生意 答 7: 哦这两个是单片机的型号吧?
似乎还是没有解决代码分段的问题啊 答 8: 单片机的程序做到64K就应该淘汰了!目前的单片机发展趋向于SOC,而且不主张使用总线设备,多用串行设备替代。
在PIC和mot单片机很明显。
如果程序规模大于8K,就应该用其他系列替代51了! 答 9: ...我现在想要讨论的是关于大型代码分段的问题
而不是使用串行设备,更换单片机甚至是趋向SOC的问题....
仅仅只是一个单纯的技术问题,何必搞得怎么复杂? 答 10: 如果是字库如果是字库,那可以用一个任意大的存储器,然后用IO口来访问,不涉及程序超过64K的问题。程序没有超过64K。那些是数据。 答 11: 恩那个只是一个比方...
不知道以后会不会遇到这种情况..... 答 12: 不是“8K的结尾直接到外扩的0地址?”而是8K开始对应到外部ROM 的8k
8K以下的对应到内部FLASH,外部ROM的低8K没用到,浪费了
对于字库可以映射到RAM区作数据或直接在外部ROM分页(还是作为数据用指针寻址,IO口输出页选,程序运行与片类ROM) 答 13: 谢谢xwj~~~具体在keil怎么设置呢??
该不会是利用其他工具软件强行进行分割吧?
如果外部rom对应片内flash的空间都浪费了的话,如果单片机本身就有64K的话,这样的浪费似乎也太大了一点呢 答 14: 会啊,我现在做的显示程序就已经64k了,也在看如何解决比较好会啊,我现在做的显示程序就已经64k了,也在看如何解决比较好。
好像keil里面是由这个功能的,用BL51连接,正在学习中。
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
| 基于WT9932C61-TINY的环境构建及OLED屏驱动测试被打赏¥20元 | |
| 【S32K3XX】Core-to-Core 中断使用被打赏¥21元 | |
| 「AI编程记录--含源码」用一晚上的时间写一个esp32的示波器被打赏¥19元 | |
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |
| 谨防极海G32M3101电机评估板易跌落的陷阱被打赏¥24元 | |
| 【全网首拆】M5STACK ATOM系列开发板拆解 / AtomS3R-CAM摄像头更换方法(提高10倍像素)被打赏¥26元 | |
我要赚赏金
