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

[复制链接]
1399|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这样的数据,应 ...

你有多大一个数据需要存放?
如果空间足够的话, 怎么放都无所谓啦..
 楼主| yhy08090 发表于 2019-7-3 10:49 | 显示全部楼层
CoolSilicon 发表于 2019-7-3 10:38
你有多大一个数据需要存放?
如果空间足够的话, 怎么放都无所谓啦..

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


CoolSilicon 发表于 2019-7-3 10:57 | 显示全部楼层
可能没啥好办法..加个外部EEPROM?
 楼主| yhy08090 发表于 2019-7-3 11:05 | 显示全部楼层
CoolSilicon 发表于 2019-7-3 10:57
可能没啥好办法..加个外部EEPROM?

不能
wooda 发表于 2019-7-3 18:38 | 显示全部楼层
yhy08090 发表于 2019-7-3 10:49
不能无所谓的,我要放20多K的东西

1,设法压缩吧,非byte字长的存储不太好搞,容易出错
2,嵌入汇编进行分割
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

47

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部