搜索
bottom↓
回复: 11

项目求思路! 高手请教!

[复制链接]

出0入0汤圆

发表于 2011-2-4 15:17:09 | 显示全部楼层 |阅读模式
本人,打算做一个上位机软来控制51单片机类的产品。。大多模块都明白了思路!  就剩如下的想不通应如何下手:


我的上位程序中会有一按钮    “ 下载 ”     (即把KeilC生成的可执行十六进制文件  .Hex文件  烧写到单片机内存中去)

这个按钮应怎么样实现呢?  有什么API函数可以实现?   还有怎么样与单片机的引导bootloader交互呢,与单片机握手?



各位靓仔!!!小女在此先行谢过 !  ( 我用的是朋友的号 )

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-2-4 15:24:50 | 显示全部楼层
女子?

出0入0汤圆

发表于 2011-2-4 15:33:45 | 显示全部楼层
就是買個下載器, 接上單片機, 再就自己做個軟件, 由這個軟件去控制下載器的軟件去下載程序

出0入0汤圆

发表于 2011-2-4 15:51:14 | 显示全部楼层
回复【1楼】unic
-----------------------------------------------------------------------

自称小女子的,基本都是男的。 这叫 “色诱术”。火影鸣人的专利。 主要对象就是像你一样,好奇心强的。哈哈。 当然,该回答回答,别管什么男女。

出0入0汤圆

发表于 2011-2-4 16:22:20 | 显示全部楼层
和3楼想的一样

出0入0汤圆

发表于 2011-2-4 16:41:39 | 显示全部楼层
如果是STC单片机的话,可以通过检测按键,然后设置单片机ISP功能的寄存器,软件复位,下载更新程序;

出0入0汤圆

发表于 2011-2-4 17:52:35 | 显示全部楼层
妹妹,如下几步!
1.首先要明确你用的单片机具备iap功能,也就是在运行的过程中可以改写程序存储器!
2.如满足上述条件,请往下看!
3.需要搞明白HEX文件的格式,千万要了解HEX文件不能原封不动的写到单片机里,要作地址解析!
4.在你的单片机程序里写一个函数,这个函数要放到你知道的地址(以便在擦除老程序时不影响这段bootload)
5.在上一条里提到的函数中写串口接收,hex解析,以及iap代码,把串口来的hex写到相应的位置!
6.hex文件应分块接收,再往rom里写!因为你必须先缓冲到ram里,但一般没有那么大的ram,so!
7.如有可能让单片机复位,新程序就跑了!不行就让用户下电再上!
8.上位机的按钮就实现启动串口发送的线程的功能就可以了!

哥哥只能告诉你思路了!其余的google吧!

出0入0汤圆

发表于 2011-2-5 08:26:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-5 09:36:05 | 显示全部楼层
哪个型号的单片机?可以自写FLASH的话,应该有官方的解决方案吧?

出0入0汤圆

 楼主| 发表于 2011-2-6 11:28:35 | 显示全部楼层
回复【6楼】ytangy     (^_^)  (^_^)  
妹妹,如下几步!
1.首先要明确你用的单片机具备iap功能,也就是在运行的过程中可以改写程序存储器! (这一句我明白了啦)
2.如满足上述条件,请往下看!                                                
                                              (用别人的软件可以下载.Hex的单片机,应该能满足条件呀 ?)
3.需要搞明白hex文件的格式,千万要了解hex文件不能原封不动的写到单片机里,要作地址解析!
                                             (这里可能是我学术不精啊,没想到,谢谢你提醒了)
4.在你的单片机程序里写一个函数,这个函数要放到你知道的地址(以便在擦除老程序时不影响这段bootload)
                                              (你说的这个函数应该就是bootloader吧?)
5.在上一条里提到的函数中写串口接收,hex解析,以及iap代码,把串口来的hex写到相应的位置!
                                              (iap:接口应用程序代码??)
6.hex文件应分块接收,再往rom里写!因为你必须先缓冲到ram里,但一般没有那么大的ram,so! (明白啦,(^_^)  )

7.如有可能让单片机复位,新程序就跑了!不行就让用户下电再上!
8.上位机的按钮就实现启动串口发送的线程的功能就可以了!  
哥哥只能告诉你思路了!其余的google吧!     (嗯嗯)
-----------------------------------------------------------------------

那还有个问题!    怎么与单片机握手的呢?(~_~)

出0入0汤圆

发表于 2011-2-6 20:20:10 | 显示全部楼层
回复【9楼】studyplacefor  
-----------------------------------------------------------------------
妹妹,如下:
1、IAP 意思是在应用编程。
2、你讲的用别人的软件可以下载HEX,说明你的单片机具备ISP功能,如果这样,你需要明确你所用的单片机原厂是否提供这个isp编程的相关文档,比如发什么命令给单片机是擦除,什么命令是下发具体的程序数据。当然还有一个关键的地方是知道,你的单片机如何进入这个ISP模式。
3、最好能把你用的单片机的具体型号发上来。
OK

出0入0汤圆

 楼主| 发表于 2011-2-7 12:19:47 | 显示全部楼层
回复【10楼】ytangy
回复【9楼】studyplacefor   
-----------------------------------------------------------------------
妹妹,如下:
1、iap 意思是在应用编程。 (用的语言也是C吗?)
2、你讲的用别人的软件可以下载hex,说明你的单片机具备isp功能,如果这样,你需要明确你所用的单片机原厂是否提供这个isp编程的相关文档,比如发什么命令给单片机是擦除,什么命令是下发具体的程序数据。当然还有一个关键的地方是知道,你的单片机如何进入这个isp模式。
3、最好能把你用的单片机的具体型号发上来。 (     STC12C5408AD\atmega32           )
                                        (    顺便问下:有没有16位的单片机? 有的话,推一款Y)
                     ( 祝哥哥仔,兔飞猛进,兔兔生威 ! (^_^)      )
------------------------------------------------------------------------------------------------------
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-16 21:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表