完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,PIC24FJ32GA002XC16 v 1.31MPLABXv3.55I试图在闪存中将初始化后的结构置于程序末尾上方的绝对位置,以便能够通过RTSP操作对其进行修改。我可以用下面的代码来完成这项工作。但是,链接器然后在后面放置其他段(.const,.ext和.dIIT),并将代码从其他模块放在那里。这显然不起作用,因为当删除结构所在的页面时,也会删除我的一些程序。地图文件的一部分:正确的方法是什么?Ruben
|
|
相关推荐
11个回答
|
|
也保留记忆。使用哑数组或用虚设数组使结构更大。
|
|
|
|
你不需要任何固定的位置。您只需要占用一个或多个完整的Flash页面,并将Flash页面对齐。
|
|
|
|
为什么(空间(AutoPSPSV)而不是(空间)(PSV),你不应该需要AutoPSV,除非你有超过32 K常量。
|
|
|
|
AutoPSPSV空间是默认的PSV页面,PSVPAG被假定指向该页面。用OP的32 K处理器,它是唯一的网页反正。把它放在空间(PSV)不做任何事,但拧紧如果它不放在AutoJPSV页面,你不使用变量上的一个γ- PSV*装饰来告诉编译器管理PSVPAG。SS当变量在AutoPSV页面中时。
|
|
|
|
如果我将BythyIn Flash页面改为BytSynIn Flash页面/ 2,这似乎是可行的,因为默认情况下只使用较低的单词。但是,当我拿一个指向NVI CONFIG变量的指针来读/写函数时,我得到PSV偏移量。如何获得实际的闪存地址作为DWORD或作为页面+低地址的闪存读写功能?我知道这个处理器的页面总是0,但我想做通用的闪存读写功能。/ Ruben
|
|
|
|
(Ruben)似乎起作用了。
|
|
|
|
您应该研究libpic30.h,以获得FLASH支持函数。这很合适,我的BYTES_IN_FLASH_PAGE将被定义为(_FLASH_PAGE*2)。
|
|
|
|
更好的方法是使用自定义链接器脚本,该脚本定义并保留内存区域。然后可以在程序中访问这个区域定义,编译器/链接器不会填充这个区域定义。通用电气公司。这些都保留了功能,并可能导致“砌砖”。问候Yorky。
|
|
|
|
我得到了阅读和擦除工作,而不是写作。使用LIbPIC30函数也是固定的。谢谢。如果我需要配置数据总是位于相同的位置,即使在软件更改之后,我也将使用自定义链接器脚本。
|
|
|
|
帮助任何人,我正在通过设备的启动代码。我们想知道运行时变量是如何初始化的。如果我理解文档的正确性,它们将在一个名为.DIIT的章节中进行描述。本节的地址如何提供给启动代码,以将内容从Flash复制到RAM。启动代码CTR0UExtDeD.S指引用符号y.ditIytBLeOffice和γ-DiITZTBLPAGE。你能弄清楚符号是在哪里填充的吗?
|
|
|
|
请不要再接另一根线。最好用自己的问题启动一个新的线程。为什么你需要知道启动代码?换言之,是什么问题使你认为理解C运行时启动序列是答案的一部分?苏珊
|
|
|
|
只有小组成员才能发言,加入小组>>
5181 浏览 9 评论
2004 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3177 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
738浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
636浏览 0评论
533浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 10:15 , Processed in 1.613272 second(s), Total 97, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号