打印
[技术问答]

关于rom前256byte禁止查表问题

[复制链接]
738|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2083759|  楼主 | 2020-5-8 18:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, ROM, ge, code, IO
本帖最后由 2083759 于 2020-5-9 09:02 编辑

关于rom前256byte禁止查表,因此在编译的时候,设置keil->option for Target->BL51 Locate->Code Range:0x100,
因为现在改用LX51,所以不能设置了,但是程序好像有没问题,这是什么原因呢?

使用特权

评论回复

相关帖子

沙发
赛元MCU3| | 2020-5-9 09:38 | 只看该作者
您好,当在“Device”属性页勾选“Use Extended Linker(LX51)instead of BL51”时,可以打开项目选项中的“LX51 Locate”属性页,在"User Classes”的输入框中填入"CODE(C:0X100),CONST(C:0X100)”的指令,来设置程序从0x100之后开始储存。芯片的前256bytes是禁止查表的,在没有设置程序从0x100之后开始储存的情况下,编译程序时,如果没有将需要使用MOVC指令的语句编译到前256bytes的区域,那么程序是可以正常运行的,如果有将需要使用MOVC指令的语句编译到flash rom的前256bytes,例如:全局变量的初始化,code类型数据,函数调用库文件的查表运算,那么程序运行将出现异常。在工程中的.M51文件中Code  Memory部分可以通过查看标识符来确认0x100地址之前是否需要用到查表指令。具体的说明在"赛元SC92F系列MCU应用指南"中的第3章节可以查看。

赛元SC92F系列MCU应用指南.pdf

1.47 MB

使用特权

评论回复
板凳
2083759|  楼主 | 2020-5-21 07:35 | 只看该作者
赛元MCU3 发表于 2020-5-9 09:38
您好,当在“Device”属性页勾选“Use Extended Linker(LX51)instead of BL51”时,可以打开项目选项中的 ...

谢谢,问题解决,还有一个问题请教,赛元单片机的单个IO口灌电流是50MA,那全部IO的总电流有限制吗

使用特权

评论回复
地板
赛元MCU3| | 2020-5-21 09:49 | 只看该作者
2083759 发表于 2020-5-21 07:35
谢谢,问题解决,还有一个问题请教,赛元单片机的单个IO口灌电流是50MA,那全部IO的总电流有限制吗 ...

您好,92系列流过芯片的总电流可以达到200ma,95系列的规格书上“电气特性”章节有具体的参数,以规格书上的数据为准。

使用特权

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

本版积分规则

18

主题

79

帖子

2

粉丝