打印
[PIC®/AVR®/dsPIC®产品]

Flash大小与编译出来的一致

[复制链接]
1264|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenjunt|  楼主 | 2022-6-8 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-6-25 16:11 编辑

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相差还挺大的,为什么?怎么 才能一致?

使用特权

评论回复
沙发
renyaq| | 2022-6-8 22:04 | 只看该作者
28KB -->16Kw,
你可以先研究一下PIC的指令长度和构成....
两个是一样的...

使用特权

评论回复
板凳
chenjunt|  楼主 | 2022-6-8 22:08 | 只看该作者
读写flash的时候,数据最大的长度是14bit,也就是0x3fff,那么对于16进制的0x9988, 0xfeed这样的数据,应该怎么存储才能充分利用14bit,存储容量最大化呢?

使用特权

评论回复
地板
zwll| | 2022-6-8 22:10 | 只看该作者
你有多大一个数据需要存放?

使用特权

评论回复
5
dingy| | 2022-6-8 22:12 | 只看该作者
如果空间足够的话, 怎么放都无所谓啦..

使用特权

评论回复
6
chenjunt|  楼主 | 2022-6-8 22:14 | 只看该作者
不能无所谓的,我要放20多K的东西

使用特权

评论回复
7
chuxh| | 2022-6-8 22:15 | 只看该作者
可能没啥好办法..加个外部EEPROM?

使用特权

评论回复
8
chenjunt|  楼主 | 2022-6-8 22:17 | 只看该作者

不能

使用特权

评论回复
9
huangchui| | 2022-6-8 22:19 | 只看该作者
设法压缩吧,非byte字长的存储不太好搞,容易出错

使用特权

评论回复
10
juventus9554| | 2022-6-8 22:24 | 只看该作者
嵌入汇编进行分割

使用特权

评论回复
11
dengdc| | 2022-6-8 22:26 | 只看该作者
数据压缩或者处理一下呗

使用特权

评论回复
12
juventus9554| | 2022-6-8 22:28 | 只看该作者
PIC单字指令架构 就决定了 这一特性.
你没法把他们强撸成一致的...
这个真没办法..

使用特权

评论回复
13
chenjunt|  楼主 | 2022-6-8 22:30 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
14
carpsnow| | 2022-6-9 21:46 | 只看该作者
啥子情况

使用特权

评论回复
15
pzsh| | 2022-6-25 16:11 | 只看该作者
读写flash的时候,数据最大的长度是14bit。---内部架构决定的吧

使用特权

评论回复
16
lcczg| | 2022-6-30 16:37 | 只看该作者
一个word = 2 byte. 按地址来一个word 占14位的指令空间,所以28KB = 14kW *16/14 = 16KW

使用特权

评论回复
17
tpgf| | 2022-7-1 11:57 | 只看该作者
是不是进行优化了啊

使用特权

评论回复
18
aoyi| | 2022-7-1 12:11 | 只看该作者
跟指令还有关系吗

使用特权

评论回复
19
nawu| | 2022-7-1 12:16 | 只看该作者
能用就行了啊

使用特权

评论回复
20
zljiu| | 2022-7-1 12:37 | 只看该作者
如何使用汇编进行分割呢

使用特权

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

本版积分规则

718

主题

7868

帖子

5

粉丝