将编译的程序上传到C51微控制器

时间:2010-01-17 05:30:33

标签: embedded microcontroller 8051 sdcc

我正在尝试将已编译的程序上传到微控制器..我的问题不在于编程或上传内容..我的问题是 上传u.u

该程序在C中,并使用SDCC编译。 mcu是ATMEL的AT89S8252。

我按照其数据表中所述的串行编程的MCU协议构建了一个简单的并行端口编程器。

到目前为止这么好..但是......我上传到mcu的内容是什么?

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

任何帮助都将受到高度赞赏=)

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

我的 .ihx 文件是我估计的Intel hex文件。那个或类似的摩托罗拉S-record格式通常是程序员软件阅读的好格式。这些格式包含要编程的数据,以及应写入数据的地址。它比二进制文件更有用,它不包含地址信息。

您使用什么软件来驱动并行编程器,它是否接受Intel十六进制格式或Motorola S-record文件?或者,你是说你自己写的?

您可以在文本编辑器中打开Intel hex文件,并了解其内容。有许多参考资料解释了这种格式。例如。 Intel HEX in Wikipedia