4

我正在尝试将已编译的程序上传到微控制器..我的问题不在于编程或上传东西..我的问题是上传什么

该程序是 C 语言并使用 SDCC 编译的。单片机是 ATMEL 的 AT89S8252。

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

到目前为止一切顺利.. 但是.. 我应该将什么上传到 mcu?

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

任何帮助将不胜感激 =)

4

2 回答 2

6

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

于 2010-01-17T06:22:12.880 回答
2

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

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

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

于 2010-01-17T08:34:42.220 回答