关于单片机程序下载问题
关于单片机程序我有几个问题不清楚,请指教1、单片机程序编译器与单片机程序下载器之间的通讯协议问题。2、单片机程序下载器与单片机之间的通讯协议问题。谁帮忙回答一下,如果有相...
关于单片机程序我有几个问题不清楚,请指教
1、单片机程序编译器与单片机程序下载器之间的通讯协议问题。
2、单片机程序下载器与单片机之间的通讯协议问题。
谁帮忙回答一下,如果有相关资料麻烦给推荐一下,非常感谢
补充一下
第一个问题、其实就是文件传输协议,就是是pc机将编译器生成的文件通过什么样的文件传输协议让下载器接收到的。麻烦解释一下,或者给相关参考资料也行。
第二个问题、单片机是怎么接收下载器的消息,就是说,单片机怎么知道下载器发送给自己的数据是有用的数据,他们之间的协议是什么。为啥有的厂家可以开发单片机的下载器,为啥他们有他们之间的协议。
再提一个问题,单片机接收到了下载器给的数据,是把这些数据保存到从单片机开始的哪个地址的。这些好像在datasheet上都找不到。
如果没有下载器,那就是pc和单片机之间数据传输问题。 展开
1、单片机程序编译器与单片机程序下载器之间的通讯协议问题。
2、单片机程序下载器与单片机之间的通讯协议问题。
谁帮忙回答一下,如果有相关资料麻烦给推荐一下,非常感谢
补充一下
第一个问题、其实就是文件传输协议,就是是pc机将编译器生成的文件通过什么样的文件传输协议让下载器接收到的。麻烦解释一下,或者给相关参考资料也行。
第二个问题、单片机是怎么接收下载器的消息,就是说,单片机怎么知道下载器发送给自己的数据是有用的数据,他们之间的协议是什么。为啥有的厂家可以开发单片机的下载器,为啥他们有他们之间的协议。
再提一个问题,单片机接收到了下载器给的数据,是把这些数据保存到从单片机开始的哪个地址的。这些好像在datasheet上都找不到。
如果没有下载器,那就是pc和单片机之间数据传输问题。 展开
4个回答
展开全部
1、单片机程序编译器将程序编译后,一般是生成 HEX 格式的文件。而下载器直接就可以使用 HEX 格式的文件进行下载。二者之间无需通信,也就不存在协议的问题。
2、单机片程序下载器与单机片之间的协议与单片机有关。早期的单片机都使用特定的编程器,有特定的编程时序,一般也是公开的。只要照做就可以实现程序的下载。而现在的单片机基本无需专用的编程器,例如 STC 的单片机,只需要使用 STC 提供的下载程序,然后通过串口就可以下载了。貌似传送协议一般并不公开。
2、单机片程序下载器与单机片之间的协议与单片机有关。早期的单片机都使用特定的编程器,有特定的编程时序,一般也是公开的。只要照做就可以实现程序的下载。而现在的单片机基本无需专用的编程器,例如 STC 的单片机,只需要使用 STC 提供的下载程序,然后通过串口就可以下载了。貌似传送协议一般并不公开。
更多追问追答
追问
哥,你是懂还是不懂,没有通讯协议,两个设备之间可以传输数据?
追答
呵呵,编译器和下载器虽然都叫“器”,其实都是软件程序。编译器编译源代码后得到 HEX 文件,下载器打开这个 HEX 文件,下载给单片机。二者之间需要通信协议吗?
展开全部
1 单片机的程序从编写到下载到单片机,主要分为几个部分:编辑、编译、链接、下载
我们通常用的Keil,实际上是把上述四个过程集成到一块了,是傻瓜式软件,表面上看是一体的,
其实则不然。而我们写大型程序,比如写Android,以上的过程是分开的。
2 编译器与下载器之间没有通讯,我们之所以能用有的开发环境下载程序,比如用Keil下载,实际上是Keil调用了下载部分的程序,而不是编译和下载之间的关系。
3 单片机下载分为三个部分,PC机上的软件,下载器,单片机。 当然,有的单片机没有下载器。
PC上软件的作用就是把Hex文件转换成Bin文件,然后通过厂家协议下载到单片机,或者直接把Bin文件下载到单片机。
对于没有下载器的,比如STC系列单片机,它的通信由两部分组成:PC软件和单片机内部的ISP
对于有下载器的,比如AVR,STM32的JTAG,通信由三部分组成,PC<---->下载器<--->单片机的ISP.
4 对于不经过下载器的单片机,每个厂家的单片机的ISP是不一样的,因此,你要想知道通信协议,可以用BUS HOUNDER自己去捕捉,我曾经捕捉过STM32的ISP协议,当然,失败了,因为程序不同,协议不太一样,主要是有个校验和问题。
5 对于要经过下载器的单片机,比如AVR,就比较麻烦,除了用BUSHOUND,还要有专门的逻辑分析仪去捕捉下载器与单片机之间的协议。
总结:想要捕捉单片机的下载协议,并不是个简单的工作,需要有深厚的技术基础。
我们通常用的Keil,实际上是把上述四个过程集成到一块了,是傻瓜式软件,表面上看是一体的,
其实则不然。而我们写大型程序,比如写Android,以上的过程是分开的。
2 编译器与下载器之间没有通讯,我们之所以能用有的开发环境下载程序,比如用Keil下载,实际上是Keil调用了下载部分的程序,而不是编译和下载之间的关系。
3 单片机下载分为三个部分,PC机上的软件,下载器,单片机。 当然,有的单片机没有下载器。
PC上软件的作用就是把Hex文件转换成Bin文件,然后通过厂家协议下载到单片机,或者直接把Bin文件下载到单片机。
对于没有下载器的,比如STC系列单片机,它的通信由两部分组成:PC软件和单片机内部的ISP
对于有下载器的,比如AVR,STM32的JTAG,通信由三部分组成,PC<---->下载器<--->单片机的ISP.
4 对于不经过下载器的单片机,每个厂家的单片机的ISP是不一样的,因此,你要想知道通信协议,可以用BUS HOUNDER自己去捕捉,我曾经捕捉过STM32的ISP协议,当然,失败了,因为程序不同,协议不太一样,主要是有个校验和问题。
5 对于要经过下载器的单片机,比如AVR,就比较麻烦,除了用BUSHOUND,还要有专门的逻辑分析仪去捕捉下载器与单片机之间的协议。
总结:想要捕捉单片机的下载协议,并不是个简单的工作,需要有深厚的技术基础。
更多追问追答
追问
说的不错,可是假如自己想弄个下载器,应该怎么弄?
1、pc和下载器之间的文件传输协议有没有现成。
2、下载器和单片机之间的传输协议是不是可以给单片机厂家要到?
追答
我想知道你用什么单片机?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只知道51单片机的STC-ISP下载是用的RS232标准,这个是下载器与单片机之间的算是协议。而编译器和下载器之间没有啥协议,他们之间就是一个.HEX文件,前者编译生成hex,后者把hex下到单片机。就完了。
追问
两个设备之间如果进行数据交换,肯定会有通讯协议、
追答
你说的对,不过,这次有点太硬件了。下载器和电脑连接数据传输,和芯片的ROM引脚和内部寄存器配置有关,就像一般的IIC协议、SPI协议啥的,都是传数据的。这个太底层了,可能跟电脑的Bus有关,也可能是下载器芯片啥的,这个我不懂了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个在编写编程软件是已经写好相关的写协议了!
追问
我就是想知道这个协议能从哪里得到,那么我就可以自己开发下载器了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询