完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我正在尝试为DSPIC33 EP控制器编写引导加载程序。我想了解如何将程序数据复制到程序存储器。我已经附加了HEX文件和程序存储器布局格式。是否有人可以解释或指出任何可以解释HEX文件数据如何被解释到用户程序存储器的文档。它的24位程序存储器
以上来自于百度翻译 以下为原文 Hello, I am trying to write the bootloader for dsPIc33EP controller.. I want to understand how to copy the program data to the program memory. I have attached the hex file and program memory layout format. Can anyone explain or point to any documents which can explain that how .hex file data is been interpreted in to the user program memory. Its 24 bit program memory Thanks Rakesh Attached Image(s) |
|
相关推荐
15个回答
|
|
格式是“英特尔十六进制”一个快速谷歌会找到它。或者您可以查看PIC24 Bootloader AppNoot.
以上来自于百度翻译 以下为原文 The Format is "Intel Hex" a quick google will find it. Or you could look at the pic24 bootloader appnote. |
|
|
|
我找不到我的老帖子,这可能会有帮助。请注意,HEX文件的地址是PIC地址X2。PIC有24位指令,但它们的地址好像是16位。HEX文件有24位排列成32位,前8位设置为0。十六进制文件地址是双允许这样做。
以上来自于百度翻译 以下为原文 I can't locate my old post that would have helped here. Be aware that the addresses the hex file are x2 the pic address. The PIC has 24 bit instructions but they are addressed as if they are 16 bit. The hex file has the 24 bits laid out into 32bits with the top 8 bits set as zero. The hex file address is double to allow for this. |
|
|
|
谢谢克里斯,我知道这些信息。但我的问题是微控制器(MPLAB)是如何从HEX文件写入数据到程序存储器的。假设0x200是用户程序存储器的起始地址,而在十六进制文件上,我看不到加载到程序存储器中的相同值。以及从微控制器输出的程序文件。
十六进制文件(85.56 KB)-下载107次 以上来自于百度翻译 以下为原文 Thanks Chris, I know that information. But my question is how microcontroller (MPlab) is writing the data to the program memory from hex file. Lets say 0x200 is the start address of the user program memory and on the hex file i dont see the same values what is been loaded to the program memory. i am attaching in my initial post .hex file as well as program file which is exported from microcontroller. Attachment(s) 1122.txt (84.75 KB) - downloaded 180 times Hex File.txt (85.56 KB) - downloaded 107 times |
|
|
|
HTTPS://E.WiKiTo.Org/Wiki/ItnelHixas说,HEX文件中的地址字段是PIC设备地址的两倍。例如,取HEX文件的第三行和第四行::02、0000、04、0000、FA和lt;-将32位地址的上16位设置为10000∶10 0008 00 D202 0000…地址源0008,2=0004,源代码为.yDebug中断,.ISR,第一个低位字节的操作码。在程序0000内存0004中显示0000 02D2的操作码,如程序内存视图中所示。
以上来自于百度翻译 以下为原文 https://en.wikipedia.org/wiki/Intel_HEX As said, the address field in the hex file is double that of the PIC device address. For example, take the 3rd and 4th lines of your hex file: :02 0000 04 0000 FA <- set the upper 16 bits of a 32-bit address to 0000 :10 0008 00 D202 0000 ... <- address 0008/2 = 0004 of your source line __DefaultInterrupt,.isr with the opcode in lower byte first. That stands for an opcode of 0000 02D2 at address 0000 0004, as shown in your program memory view. |
|
|
|
谢谢,我想了解下面的代码模式,我应该把这个内存值转储到程序内存中。在HEX文件中,我可以经常看到这个值::020000 0400 0FA:107C0800 0E0177801510033707800 B77800 47 47:107C1800 F3072000 836062200 2200 0200 05000 4B: 0C7C28040401F0FFFFF900FA: 020000 0400CFF77BFFFF9000:0200 000 0400 FA: 0200 0409FFFF90055:0200 000 0400 0FA: 0200 000 0401F09:0400 1400 50FFFF9009A:0200 000 0401F00 9:0400 1800 FFFFFF00 E7:0200 000 0400 FA: 0200 000 0401F0 001EB08280580000 06004:020000 04000 FA:020009:041C0DFFFF003:020000 04000 FA: 020000 0401F9009:0400 2000 FCFFFFE2E: 0000000 1FF
以上来自于百度翻译 以下为原文 Thanks, I want to understand the below code pattern where should i dump this memory values in program memory. In the hex file I can see ":020000040000fa" this value in frequently to the file. :020000040000fa :107c08000e0178007801510032007800b200780047 :107c1800f30720008380600022002000020050004b :0c7c28000001eb00828058000000060004 :020000040000fa :0200000401f009 :04000800fcffff00fa :020000040000fa :0200000401f009 :04000c007bffff0077 :020000040000fa :0200000401f009 :0400100099ffff0055 :020000040000fa :0200000401f009 :0400140050ffff009a :020000040000fa :0200000401f009 :04001800ffffff00e7 :020000040000fa :0200000401f009 :04001c00dfffff0003 :020000040000fa :0200000401f009 :04002000fcffff00e2 :00000001FF |
|
|
|
我会说,正如1和0所说,02:0000,0000,0000,FA & lt;设置一个32位地址的上16位,到可能是“0”,这可能是按照前面的数据完成的。
以上来自于百度翻译 以下为原文 I'd say, as 1and0 stated, that :02 0000 04 0000 FA <- set the upper 16 bits of a 32-bit address to 0000 Possibly it's done "just to be sure" upper word is zeor, following previous data. |
|
|
|
基本阅读:http://e.维基百科.org/wiki/iTeleX-HEX记录类型
以上来自于百度翻译 以下为原文 Essential reading: https://en.wikipedia.org/wiki/Intel_HEX#Record_types |
|
|
|
好的…所以下面的两行:0200 000 0401F09-和:02:0000 04 01F0 09:这是否表示上16位指示01F0。这是有意义的,但是下面的内容告诉我们:0400800 FCFFFF0FA& &::这表明了什么,我必须把这个值转储到哪里去。我必须把这个值转储到01F0 0008的位置吗?如果是这样,那么在dSPIC33中的地址是24位。我知道这行指示文件的结尾。
以上来自于百度翻译 以下为原文 Okay.. So the below two lines : : 0200000401f009 -> : 02 0000 04 01f0 09 : Does this indicate upper 16 bits indicate 01f0. Thats Make sense but what below line telling. :04000800fcffff00fa -> : What does this indicate and where i have to dump this value. Do i have to dump this value to 01f0 0008 location ?? if so then the addressing in dspic33 is 24 bit. I know the the line indicate the end of file. |
|
|
|
好的,我知道了,它的配置位。地址从0xF8000到0xF012及其价值。谢谢大家的支持。
以上来自于百度翻译 以下为原文 Okay I got it. Its configuration bits. address From 0xF80000 to 0xF80012 and its values. Thanks to all for your support. |
|
|
|
记住,十六进制文件中的地址是PIC地址的两倍,即01f0 0008和gt;gt;1=f8 0004。
以上来自于百度翻译 以下为原文 Remember the address in the hex file is double that of the PIC address, i.e. 01F0 0008 >> 1 = F8 0004. |
|
|
|
你好,1和0,你知道如何在运行期间写配置词吗?
以上来自于百度翻译 以下为原文 hello 1and0, do you know how to write the configuration words during run time.. |
|
|
|
所以,你不喜欢我在HTTP://www. McCHIP.COM/FUMMS/FUNDSPED/98855中的反应。
以上来自于百度翻译 以下为原文 So, you did not like my response in http://www.microchip.com/forums/FindPost/987855 |
|
|
|
你好吉姆,它不是关于链接或不喜欢…我想解决这个问题…我很感激你对这个问题的支持。
以上来自于百度翻译 以下为原文 Hello jim, Its not about the linking or disliking ... I want the solution of it.. I appreciate your support on this problem. |
|
|
|
在多个william hill官网
上发布同样的问题可能会给你更少的答案,而不是更多的答案。这对那些试图帮助一个以上的答案流的人来说是很烦人的。
以上来自于百度翻译 以下为原文 Posting the same question in multiple forums is likely to get you LESS answers, not more. It is annoying for the people trying to help to have more than one parallel streams of answers. |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
5291 浏览 9 评论
2059 浏览 8 评论
1969 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3233 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2277 浏览 5 评论
824浏览 1评论
710浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
654浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
710浏览 0评论
609浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 23:11 , Processed in 1.278138 second(s), Total 74, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号