打印

PIC16 单片机 datasheet上Flash大小与编译出来的一致, 为什么?

[复制链接]
1024|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yhy08090|  楼主 | 2019-7-2 13:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yhy08090 于 2019-7-2 13:29 编辑

PIC 18346 datasheet上Flash 大小与编译出来的一致, 为什么?

datasheet上面的:
Program Memory Type
Flash
Program Memory Size (KB)
28

编译出来:
Memory Summary:
    Program space        used  1866h (  6246) of  4000h words   ( 38.1%)  ----->0x4000h ==16K

28---16相差还挺大的,为什么?怎么 才能一致?

使用特权

评论回复
沙发
CoolSilicon| | 2019-7-2 13:50 | 只看该作者
28KB -->16Kw,
你可以先研究一下PIC的指令长度和构成....
两个是一样的...

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
yhy08090 + 2 很给力!
板凳
yhy08090|  楼主 | 2019-7-3 10:08 | 只看该作者
CoolSilicon 发表于 2019-7-2 13:50
28KB -->16Kw,
你可以先研究一下PIC的指令长度和构成....
两个是一样的...

读写flash的时候,数据最大的长度是14bit,也就是0x3fff,那么对于16进制的0x9988, 0xfeed这样的数据,应该怎么存储才能充分利用14bit,存储容量最大化呢?

使用特权

评论回复
地板
CoolSilicon| | 2019-7-3 10:38 | 只看该作者
yhy08090 发表于 2019-7-3 10:08
读写flash的时候,数据最大的长度是14bit,也就是0x3fff,那么对于16进制的0x9988, 0xfeed这样的数据,应 ...

你有多大一个数据需要存放?
如果空间足够的话, 怎么放都无所谓啦..

使用特权

评论回复
5
yhy08090|  楼主 | 2019-7-3 10:49 | 只看该作者
CoolSilicon 发表于 2019-7-3 10:38
你有多大一个数据需要存放?
如果空间足够的话, 怎么放都无所谓啦..

不能无所谓的,我要放20多K的东西


使用特权

评论回复
6
CoolSilicon| | 2019-7-3 10:57 | 只看该作者
可能没啥好办法..加个外部EEPROM?

使用特权

评论回复
7
yhy08090|  楼主 | 2019-7-3 11:05 | 只看该作者
CoolSilicon 发表于 2019-7-3 10:57
可能没啥好办法..加个外部EEPROM?

不能

使用特权

评论回复
8
wooda| | 2019-7-3 18:38 | 只看该作者
yhy08090 发表于 2019-7-3 10:49
不能无所谓的,我要放20多K的东西

1,设法压缩吧,非byte字长的存储不太好搞,容易出错
2,嵌入汇编进行分割

使用特权

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

本版积分规则

7

主题

47

帖子

0

粉丝