[PIC®/AVR®/dsPIC®产品] PIC16代码存放地址问题求教

[复制链接]
2060|12
 楼主| zdy149 发表于 2024-4-26 18:18 | 显示全部楼层 |阅读模式
各位大神,现在使用的是PIC16F15224,代码使用空间DATA 27%(总共512bytes),Program 72%(总共4096bytes),
为什么烧录到单片机内不是连续烧录的呢?我读取到的Program Memory,
他的数据分布在0x000- 0x839,0xCA1-0xFFF,是不是哪里设置错了呀;
烧录器:PICKIT5;
IDE: MPLAB X IDE v6.15;
先谢过各位前辈了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
wangchangwenqq 发表于 2024-4-26 20:41 | 显示全部楼层
PIC就是这样分布的, PIC  18也是一样的,  会在末尾放指令,   

评论

您好,请教一下有文档描述这个做法吗?例如像arm的《cortex-M3权威指南》这样的书,或者其他什么资料。  发表于 2024-4-27 08:15
幸福小强 发表于 2024-4-26 22:13 | 显示全部楼层
两端放置方便查询。

评论

感谢你的回答,请问您知不知道有什么书在描述这种存储结构呢  发表于 2024-4-27 16:40
 楼主| zdy149 发表于 2024-4-27 08:16 | 显示全部楼层
再请教一下,这种情况下,我想读写内部flash保存一些信息,应该保存在哪个地址呢?我是害怕后面程序修改变大,保存的flash地址需要做修改。
qintian0303 发表于 2024-4-27 14:40 | 显示全部楼层
数据分布在0x000- 0x839,0xCA1-0xFFF,这样的情况不适合存储不丢失的数据,建议还是外置Flash存储

评论

明白了,谢谢啦  发表于 2024-4-27 14:54
coody 发表于 2024-4-27 17:29 | 显示全部楼层
PIC就是这样变态的存在,30年来我用过超过20个厂家的MCU,最难用的就是PIC的,比如PIC16C56,那么一点内存和ROM还分BANK、PAGE,非常垃圾,2005年后再也不用PIC的了。
lb1057907736 发表于 2024-4-27 20:35 来自手机 | 显示全部楼层
解决你的疑惑,在这个帖子中标记为解决方案的地方,这是编译器决定的。

https://forum.microchip.com/s/topic/a5C3l000000Bpr8EAC/t391265

评论

感谢  发表于 2024-4-29 08:09
wangchangwenqq 发表于 2024-5-7 16:59 | 显示全部楼层
zdy149 发表于 2024-4-27 08:16
再请教一下,这种情况下,我想读写内部flash保存一些信息,应该保存在哪个地址呢?我是害怕后面程序修改变 ...

定义常量数组保护这段区域, 然后定位到绝对地址, 建议大小是擦除页的倍数, 修改时 擦除 再写入, 读取时用前面的绝对地址,  

评论

常量数组可以保护这段地址,不被编译器使用, 由于需要读取 flash , 配置位的 读写保护要关闭, 只留代码保护即可  发表于 2024-5-7 17:04
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

1

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