OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32/FPGA开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 1297|回复: 23

STM32F103远程升级固件

[复制链接]

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
发表于 2018-9-29 22:48:22 | 显示全部楼层 |阅读模式
本帖最后由 candylife9 于 2018-9-29 22:56 编辑

十一后要去新公司上班了,这两天录制了一个STM32F103ZET6+SIM800C 实现STM32固件更新的视频,和大家分享一下,www.sharing-iot.com,大家可以去观看,视频里面有工程代码和资料的下载链接。如果大家需要FTP服务器进行测试的话,还可以在网站上申请FTP服务。硬件使用的是原子哥的战舰V3开发板和SIM800C模块板。做这个视频算是对STM32的一个总结,因为马上要学习LINUX了。
学点点.PNG
希望能给大家带来帮助,大家继续加油
回复

使用道具 举报

  离线 

8

主题

839

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2323
金钱
2323
注册时间
2011-5-23
在线时间
1116 小时
发表于 2018-9-29 23:00:43 | 显示全部楼层
前排围观
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-29 23:05:38 | 显示全部楼层

谢谢支持请留下你的脚印
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-29 23:23:09 | 显示全部楼层
一般来说,触发远程升级都是在上电的时候主动连接FTP服务器检测是否有更新文件,但是我这个视频是为了说明远程升级的原理,所以并没有按照实际产品去做。
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-29 23:25:18 | 显示全部楼层
买了ARM A9的开发板,怎么学LINUX,大家有没有什么好的建议呀,感觉板子给的资料好乱。。。。
回复 支持 反对

使用道具 举报

  离线 

1

主题

584

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4688
金钱
4688
注册时间
2015-1-15
在线时间
887 小时
发表于 2018-9-30 07:26:48 来自手机 | 显示全部楼层
candylife9 发表于 2018-9-29 23:23
一般来说,触发远程升级都是在上电的时候主动连接FTP服务器检测是否有更新文件,但是我这个视频是为了说明 ...

感觉实际项目中应该远程服务器触发客户端开启FTP下载功能才更合适
来自: 微社区
回复 支持 反对

使用道具 举报

  离线 

11

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2013-11-26
在线时间
58 小时
发表于 2018-9-30 08:48:08 | 显示全部楼层
这个事儿我觉得各有利弊,自更新的好处是只要把文件更新  客户端会自己更新到最新的版本  服务器触发客户端下载的好处是易于人为操控  但是数量多了的话  会不会有点麻烦?
回复 支持 反对

使用道具 举报

  离线 

21

主题

273

帖子

0

精华

高级会员

Rank: 4

积分
745
金钱
745
注册时间
2017-4-1
在线时间
171 小时
发表于 2018-9-30 08:54:49 | 显示全部楼层
围观!
回复 支持 反对

使用道具 举报

  离线 

0

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2017-1-4
在线时间
32 小时
发表于 2018-9-30 09:19:08 来自手机 | 显示全部楼层
收藏了,谢谢
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 11:01:43 | 显示全部楼层
一些游戏更新包,或者操作系统的补丁包也是采用的自更新的方法,就FTP的链接过程来看,不管是被动还是主动,都是需要客户端先链接到服务器的,所以感觉自更新更方便一些。
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 11:05:49 | 显示全部楼层
yklstudent 发表于 2018-9-30 07:26
感觉实际项目中应该远程服务器触发客户端开启FTP下载功能才更合适

如果产品有对应的手机APP控制的话,是可以提醒用户进行更新,然后由服务器发起更新通知。但是如果产品只有远程升级,没有其他网络功能,服务器就通知不了产品了。
回复 支持 反对

使用道具 举报

  离线 

1

主题

584

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4688
金钱
4688
注册时间
2015-1-15
在线时间
887 小时
发表于 2018-9-30 12:14:24 | 显示全部楼层
candylife9 发表于 2018-9-30 11:05
如果产品有对应的手机APP控制的话,是可以提醒用户进行更新,然后由服务器发起更新通知。但是如果产品只 ...

一个硬件设备具备网络功能,肯定有其它用处,没有哪个傻逼产品经理仅仅为了要求满足支持远程升级程序而添加网络模块
一分耕耘一分收获。
回复 支持 反对

使用道具 举报

  离线 

10

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2017-8-4
在线时间
31 小时
发表于 2018-9-30 15:24:30 | 显示全部楼层
candylife9 发表于 2018-9-29 23:25
买了ARM A9的开发板,怎么学LINUX,大家有没有什么好的建议呀,感觉板子给的资料好乱。。。。

我来回答,毕竟我可是花了半年的业余时间学完整套linux的
首先是整个linux的基本操作,你要会装虚拟机,会一些简单的命令,能编写一些简单的测试程序
然后你需要了解一下ARM的架构,怎么了解?随便看看呗,以后都会明白
然后开始了解Makefile之类的,不需要很熟练,最起码需要能看懂大概,至于以后项目,放心网上有通用的
等你这些差不多的时候可以写裸机代码了,不需要太复杂,只是熟悉下这个操作流程,很重要的一点,去啃数据手册吧,大概有那么几千页,挑重点的看,全英文哦
等你可以点个LED什么的就差不多了,当然你想玩别的我很赞成,也会很有用,我反正也是弄了点的
等你裸机熟悉了,去看Uboot吧,Uboot会用到makefile,还有linux下的脚本之类的,还有arm汇编(简单了解下,知道一些简单的指令,不会也可以随时查),一定要看Uboot,一定要看,一定要看,一定要多看,等你Uboot熟悉了,去尝试移植Uboot吧,会了基本算入门了,这时候你可以去学习内核了,内核太庞大,但是如果你Uboot玩的好,内核其实就那样
跟Uboot差不多的套路吧,啃呗,前期的重点是启动过程以及Uboot和内核的联系,要学会自己编译啥的,交叉编译啥的,至于移植内核差不多就行了,以后看工作需要了吧
然后到根文件系统,学着从Busebox自己制作个简单的文件系统
最后是大部分学Linux的梦想了,Linux驱动,去了解架构,去看手册看内核源码,了解各种杂七杂八的东西,总之就是啃代码,看博客,尝试自己去写LED驱动吧,这部分学了可能找不到相关工作,因为能做驱动的工作很少,虽然我自认为做驱动没问题,但是没人要我,我也很绝望,但是一定要学啊,就算你以后只写应用也会比人家厉害,你能很快找到问题在哪,此处省略800字吹牛逼
学习过程我认为这个最科学了,从浅到深
最后,劝你找个系统的视频来学吧,另外Linux没那么难,就是东西多而且杂,需要毅力,其实没那么难,难的都被大神搞定了



回复 支持 反对

使用道具 举报

  离线 

4

主题

223

帖子

0

精华

高级会员

Rank: 4

积分
820
金钱
820
注册时间
2018-1-29
在线时间
89 小时
发表于 2018-9-30 16:02:47 | 显示全部楼层
errr.jpg
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 16:55:10 | 显示全部楼层

哎呀,你这个是不是谷歌浏览器呀。。。。
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 16:59:24 | 显示全部楼层
smiletudy 发表于 2018-9-30 15:24
我来回答,毕竟我可是花了半年的业余时间学完整套linux的
首先是整个linux的基本操作,你要会装虚拟机, ...

好像很多公司的产品都直接用了芯片商提供的方案,就是说整个操作系统架构已经有了,不用自己做,然后我们只是在上面写应用了,他们说的是驱动的话,除非去芯片原厂,不然没有公司做的。
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 17:10:19 | 显示全部楼层
backup2k 发表于 2018-9-30 16:02
你用的什么浏览器,我换了几个都可以。

E:\可以.png
可以.PNG
回复 支持 反对

使用道具 举报

  离线 

10

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2017-8-4
在线时间
31 小时
发表于 2018-9-30 17:24:30 | 显示全部楼层
candylife9 发表于 2018-9-30 16:59
好像很多公司的产品都直接用了芯片商提供的方案,就是说整个操作系统架构已经有了,不用自己做,然后我们 ...

那你就想错了,如果你只会应用那么你就只能写应用,而且有时候有的东西你根本不懂,因为你学的不是Linux只是linux的系统操作,那么只需要几天就能搞定了,完全没必要买开发板,直接上虚拟机就可以了,反正我在杭州有时候面试都能用内核把技术人员说的一脸懵逼,而且大公司一般都会涉及到内核驱动这一块
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-9-30 18:29:17 | 显示全部楼层
smiletudy 发表于 2018-9-30 17:24
那你就想错了,如果你只会应用那么你就只能写应用,而且有时候有的东西你根本不懂,因为你学的不是Linux ...

今天刚刚开始学,先跟着视频看,上手工作了再深入uboot和文件系统,然后驱动。
回复 支持 反对

使用道具 举报

  离线 

4

主题

223

帖子

0

精华

高级会员

Rank: 4

积分
820
金钱
820
注册时间
2018-1-29
在线时间
89 小时
发表于 2018-10-1 16:32:45 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-10-9 21:47:20 | 显示全部楼层
smiletudy 发表于 2018-9-30 17:24
那你就想错了,如果你只会应用那么你就只能写应用,而且有时候有的东西你根本不懂,因为你学的不是Linux ...

上了几天班,我算是见识到了。我根本就不需要懂什么Linux内核,驱动,人家连硬件原理图都给你做好了,更不用说什么uboot,驱动了,原厂的平台甚至把所有可能用到的业务都写好了,需要用什么功能你只需要#ifdef就好了,我做的就是在根据客户的需求修修改改而已。。。我还是回来做32位单片机吧,感觉都比Linux有做头多了。
回复 支持 反对

使用道具 举报

  离线 

10

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2017-8-4
在线时间
31 小时
发表于 2018-10-12 16:32:48 | 显示全部楼层
candylife9 发表于 2018-10-9 21:47
上了几天班,我算是见识到了。我根本就不需要懂什么Linux内核,驱动,人家连硬件原理图都给你做好了,更 ...

最近在做LORA网关,没有技术支持,网上的网关的资料少的可怜,而且我们需要添加额外的功能,比如4G,理论上你可以串口控制,BUT串口有缺点,那么问题来了 我需要移植华为的驱动,这时候你需要重新编译内核等等,作为一个过来人,搞单片机你工资可以上万就挺不错了,但是你懂了内核这些有一些工作经验,工资就不一样了,而且Linux的强大不是你会几个API调用就算了解的,比如我现在想学视频方面的东西,你用32传输嘛?我需要海思的平台,还有一大堆东西,算了,人各有志,每个人的想法也不一样
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-10-14 11:57:39 | 显示全部楼层
smiletudy 发表于 2018-10-12 16:32
最近在做LORA网关,没有技术支持,网上的网关的资料少的可怜,而且我们需要添加额外的功能,比如4G,理论 ...

是呀,Linux方面肯定有视频方面的方案和平台,人家早都做好了,你联系一个方案商就可以了,直接用就可以了,除非你去海思。
回复 支持 反对

使用道具 举报

  离线 

20

主题

252

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-7-17
在线时间
84 小时
 楼主| 发表于 2018-10-14 12:08:14 | 显示全部楼层
本帖最后由 candylife9 于 2018-10-14 12:13 编辑
smiletudy 发表于 2018-10-12 16:32
最近在做LORA网关,没有技术支持,网上的网关的资料少的可怜,而且我们需要添加额外的功能,比如4G,理论 ...

其实我的意思是说现在嵌入式方面的工作已经被细分了,从应用层的业务逻辑,到平台,操作系统,驱动,最后硬件设计,都已经被独立到不同的公司和团队去做了。一个公司只会做一个方面的东西,比如你的lora网关,已经属于产品层面的范畴,属于业务逻辑层了。那么要用Linux或者android来做的话,就属于应用层的业务逻辑。那么你只要找到一个支持视频传输和处理的平台就可以了,这个平台就已经给你做好了平台层以下的一切,当然下面的东西也是别人提供给他们的。这个时候已经没你什么事了,你只是在用平台的API,顶多会在linux下编译下代码而已。如果你说你自己做这个视频的方案,或者说驱动还需要你来移植,除非你是自己玩,不然我相信你的公司绝对接受不了时间和稳定性和维护以及客诉方面的代价。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

正点原子STM32/FPGA资料免费洗澡上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-12-19 22:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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