Embedded 将编译后的程序上载到C51微控制器

Embedded 将编译后的程序上载到C51微控制器,embedded,microcontroller,8051,sdcc,Embedded,Microcontroller,8051,Sdcc,我正试图把编译好的程序上传到微控制器上。。我的问题不在于编程或上传东西。。我的问题是上传什么 该程序是用C语言编写的,是用SDCC编译的。 mcu是由ATMEL提供的AT89S8252 我建立了一个简单的并行端口编程器,遵循MCU协议进行串行编程,如数据表中所述 到目前为止还不错。。但是我应该上传什么到mcu 在编译时,SDCC会生成大量文本报告。。然后是一个.ihx。。我怀疑我不应该直接上传这个文件,而是以某种方式对其进行后期处理,以获得要上传的实际原始字节 任何帮助都将不胜感激=)该.ihx

我正试图把编译好的程序上传到微控制器上。。我的问题不在于编程或上传东西。。我的问题是上传什么

该程序是用C语言编写的,是用SDCC编译的。 mcu是由ATMEL提供的AT89S8252

我建立了一个简单的并行端口编程器,遵循MCU协议进行串行编程,如数据表中所述

到目前为止还不错。。但是我应该上传什么到mcu

在编译时,SDCC会生成大量文本报告。。然后是一个.ihx。。我怀疑我不应该直接上传这个文件,而是以某种方式对其进行后期处理,以获得要上传的实际原始字节


任何帮助都将不胜感激=)

该.ihx文件是否可能是英特尔十六进制格式文件?如果是这样的话,在让程序员开始工作之前,您没有太多的工作要做。英特尔十六进制格式只是一种特殊的文本格式。谷歌英特尔十六进制格式,以找到它看起来像什么。例如,维基百科上有一个页面。将其与.ihx文件进行比较。如果你得到了一个匹配,你应该能够找到一些东西把它转换成原始二进制格式,准备下推到你的MCU。如果你不能,你应该能够在一个小时左右写一些东西来完成这项工作,这很简单。如果你真的卡住了,我可能会给你发一封我以前写的工具。祝你好运。

我认为你的.ihx文件是一个英特尔十六进制文件。这种格式,或者类似的摩托罗拉S-record格式,通常是程序员软件阅读的好格式。这些格式包含要编程的数据,以及数据应该写入的地址。它比不包含地址信息的二进制文件更有用

您使用什么软件来驱动并行程序员,它是否接受英特尔十六进制格式或摩托罗拉S-record文件?或者,你是说你在写你自己的


您可以在文本编辑器中打开“英特尔十六进制”文件,了解其内容。有许多参考文献解释了这种格式。例如:谢谢!我设法用Hex2Bin转换了它(我在linux上,所以它工作得很好)。还有另一个名为srecord的软件包,它似乎更复杂。。但我不需要那么多功能。干得好。我已经在几个项目中使用了srecord,并发现它非常有用(例如,我们使用它添加了一个CRC以供引导加载程序验证)。。谢谢你的回答,它和第一个一样有用和清晰。