搜索
bottom↓
回复: 22

坛子里的朋友有搞过BOOTLOADER没?

[复制链接]

出0入0汤圆

发表于 2016-6-10 19:00:53 | 显示全部楼层 |阅读模式
  最近有个案子需要用到bootloader实现远程烧录!请问各位有这方面传些资料给俺呗!

出0入0汤圆

发表于 2016-6-10 19:48:54 | 显示全部楼层
目前也在做bootloader
我的想法是  根据每个产品的产品序列号,AES加密,boot里自行解密。这样,外地需要的话,直接给app就行,反正每个产品的都不一样,不怕泄密

出200入2554汤圆

发表于 2016-6-10 21:50:38 | 显示全部楼层
bootloader用 AVR 写过,基本的流程在手册里都有示例代码,多加个通信口(例如USART)收发就有了。至于加密,简单的用随机序列表做个异或就有,复杂点的的确如LS所讲

出0入0汤圆

发表于 2016-6-10 22:49:47 | 显示全部楼层
一个是通信,一个是flash烧写,当然你还得对单片机内存映射懂。
你先实现本地的boot吧,远程的接个模块就OK了

出35入0汤圆

发表于 2016-6-10 19:00:54 来自手机 | 显示全部楼层
说说步骤,1,学会操作单片机的flash操作,包括擦除,写和读。2,理解单片机的启动顺序,bootloader实际上也就是单片机里的一段代码,不过通常设计成单片机上电后最先运行的代码,3,设置中断向量,这个和单片机结构有关系,就看如何重设中断向量就好。4,写bootloader主体,一般就是,初始化系统时钟和接收端口,然后接收一定数量的数据,然后检测flash是否要擦除,最后将程序写入flash,这样重复,直到写完,然后要改向量的改向量,要改映射的改映射,有的什么也不用做,最后延时超时或者解析到结束,跳转到应用程序。5,至于加密什么的,就是附加的东西了,什么牛逼的高科技,要藏着掖着。。6,再就是上位机那边的程序,要了解如何生成flash的 bin文件,如果加密的话,还是加密的文件,如何延时传输,以配合单片机写flash。7,大致就是那样子了,看看ARUDB,这款很实用的bootloader,或许能进一步提升对计算机的理解。

出0入0汤圆

 楼主| 发表于 2016-6-11 08:37:38 | 显示全部楼层
Andrewz 发表于 2016-6-11 08:03
说说步骤,1,学会操作单片机的flash操作,包括擦除,写和读。2,理解单片机的启动顺序,bootloader实际上 ...

  谢谢,已了解!

出0入0汤圆

发表于 2016-6-11 08:47:57 | 显示全部楼层
Andrewz 发表于 2016-6-11 08:03
说说步骤,1,学会操作单片机的flash操作,包括擦除,写和读。2,理解单片机的启动顺序,bootloader实际上 ...

授之于渔

出35入0汤圆

发表于 2016-6-11 18:40:20 | 显示全部楼层
dhw5qq 发表于 2016-6-11 08:37
谢谢,已了解!

                     

出0入0汤圆

发表于 2016-6-11 21:53:34 | 显示全部楼层
Andrewz 发表于 2016-6-10 19:00
说说步骤,1,学会操作单片机的flash操作,包括擦除,写和读。2,理解单片机的启动顺序,bootloader实际上 ...

大神啊,以后用的到的话过来拿,厉害!!!

出0入0汤圆

发表于 2016-6-19 10:56:43 | 显示全部楼层
t3486784401 发表于 2016-6-10 21:50
bootloader用 AVR 写过,基本的流程在手册里都有示例代码,多加个通信口(例如USART)收发就有了。至于加密 ...

请问在给AVR远程通讯的时候,修改Bootloader,除了RXD,TXD,RST,GND,控制信号,还要不要加上另一个控制信号,控制Bootloader区的程序进入到应用程序区?

出0入0汤圆

发表于 2016-6-19 11:00:46 | 显示全部楼层
我也在搞这个,请问你的设计是通过什么远程控制的,是CAN,485,232,还是什么?

出0入0汤圆

发表于 2016-6-19 11:06:28 | 显示全部楼层
Andrewz 发表于 2016-6-10 19:00
说说步骤,1,学会操作单片机的flash操作,包括擦除,写和读。2,理解单片机的启动顺序,bootloader实际上 ...

你好,请问,我如何控制Bootloader        的程序在出错时,不到应用程序区,要在硬件电路上添加一个控制信号吗?控制AVR的什么信号?又怎么控制,本来是直接改指针的,现在通过控制信号控制远程控制。

出200入2554汤圆

发表于 2016-6-19 15:12:17 | 显示全部楼层
zhubamboo03 发表于 2016-6-19 10:56
请问在给AVR远程通讯的时候,修改Bootloader,除了RXD,TXD,RST,GND,控制信号,还要不要加上另一个控制信 ...

这个控制可以加上,以明确程序的执行分支(Bootloader还是用户程序),防止意外进入Bootloader或者进不去

出0入0汤圆

发表于 2016-6-20 16:10:02 | 显示全部楼层
t3486784401 发表于 2016-6-19 15:12
这个控制可以加上,以明确程序的执行分支(Bootloader还是用户程序),防止意外进入Bootloader或者进不去 ...

你好,那应该控制AVR的那个信号?是不是任意一个外部中断口?

出200入2554汤圆

发表于 2016-6-20 17:04:42 | 显示全部楼层
zhubamboo03 发表于 2016-6-20 16:10
你好,那应该控制AVR的那个信号?是不是任意一个外部中断口?

我没有写这部分功能,大致就是进入 Bootloader 时检测一个 IO 状态(不需要中断,我也没设计中断),
来确认执行 Bootloader 主功能,还是跳转用户区。

类似的功能在 STM32 上直接用 BOOT0/BOOT1 引脚硬件实现了

出0入0汤圆

发表于 2016-6-20 17:25:45 | 显示全部楼层
t3486784401 发表于 2016-6-20 17:04
我没有写这部分功能,大致就是进入 Bootloader 时检测一个 IO 状态(不需要中断,我也没设计中断),
来 ...

好的,我知道了,谢谢你

出0入0汤圆

发表于 2017-3-21 22:39:57 | 显示全部楼层
qingyin2009 发表于 2016-6-10 22:49
一个是通信,一个是flash烧写,当然你还得对单片机内存映射懂。
你先实现本地的boot吧,远程的接个模块就OK ...

远程的接个模块,是CDMA吗?

出0入0汤圆

发表于 2017-3-30 20:05:58 | 显示全部楼层
zw_7627 发表于 2017-3-21 22:39
远程的接个模块,是CDMA吗?

wifi网络什么的都可以

出10入10汤圆

发表于 2017-3-30 20:17:52 | 显示全部楼层
学习了,会用到

出0入0汤圆

发表于 2017-4-2 22:29:42 | 显示全部楼层
qingyin2009 发表于 2017-3-30 20:05
wifi网络什么的都可以

移动网络实现的远程bootloader,有没有弄过?

出0入0汤圆

发表于 2017-4-3 16:31:05 | 显示全部楼层
zw_7627 发表于 2017-4-2 22:29
移动网络实现的远程bootloader,有没有弄过?

没有实现过,本地的搞过,远程的没啥区别

出0入0汤圆

发表于 2017-7-4 10:56:01 | 显示全部楼层
boboo 发表于 2016-6-10 19:48
目前也在做bootloader
我的想法是  根据每个产品的产品序列号,AES加密,boot里自行解密。这样,外地需要的 ...

也在搞这个,思路和你的差不多,可以讨论讨论吗

出0入0汤圆

发表于 2019-5-15 10:30:27 | 显示全部楼层
谢谢分享!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 13:02

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

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