
bootloader
文章平均质量分 93
unsv29
嵌入式软件开发、物联网...
展开
-
[再次发生趣事........] BOOTLOADER开发趣事又发生啦!!! 你正在做的东西,说不准这个世界某个角落也有人在干同样的事情
大半夜的,有点感概,忍不住写下来!在15年底写了《BOOTLOADER开发趣事。你正在做的东西,说不准这个世界某个角落也有人在干同样的事情》这写的是我第一代的bootloader,后来觉得不满意,在2018年4月开始开发第二代bootloader,可以看我的bootloader专题,当时的计划截图如下:。今天又发生了相同的事情,这次就更彻底了。起因是刚刚我在安富莱公众号刷到一篇安富莱的帖子,电脑版链接如下:《[BOOT/IAP]功能资料比较全面的开源Bootloader OpenBLT...原创 2020-07-30 23:00:46 · 797 阅读 · 3 评论 -
[5]详解STM32启动代码在MICROLIB中怎么对栈清零的?
贴一下汇编: __scatterload_zeroinit:0x080000DC 2000 MOVS r0,#0x000x080000DE E001 B 0x080000E40x080000E0 C101 STM r1!,{r0}0x080000E2 1F12 SUBS r2,r2,#40x080000...原创 2020-02-04 15:48:07 · 514 阅读 · 0 评论 -
BOOTLOADER里面要加上驱动程序么?
BOOTLOADER里面要加上驱动程序么?原创 2017-12-12 09:54:43 · 1096 阅读 · 0 评论 -
AxMSWinsockLib这个东东再哪里
这个问题搞了好久,大概陆续有大半天时间。主要是换了最新的电脑是WIN10的系统,于是只能在老的旧的台式机上装了个WIN7,结果原先的VB2008 的VB.NET程序提示缺少AxMSWinsockLib,还少一个忘记名字了。现在后来大概明白这两个控件都是由mswinsck.ocx生成的。于是找mswinsck.ocx控件。找到后由于我用的WIN7于是放到了windows里面的syswow...原创 2018-12-25 09:31:56 · 1495 阅读 · 0 评论 -
因为某项目未能生成,所以无法发布 解决方法
VS2008 ,原先是在电脑A发布后来换成电脑B结果出现B无法发布,一看签名发现是还是电脑A的用户名字,于是按照: http://blog.sina.com.cn/s/blog_59a3e0a90100bk9l.html签名的位置在哪?就看这个链接https://www.aliyun.com/zixun/wenji/1242530.html...原创 2018-12-25 15:00:02 · 1076 阅读 · 0 评论 -
利用segger的J-flash软件产生测试数据填充flash
测试BOOTLOader需要把没有用到的空间填充数值进行“全地址覆盖测试”,填充什么数值好呢?当然是随机数比较最好,但是比较麻烦,所以偶然发现在J-FLASH界面有个选项:生成了一些自增数据。当然不是最佳方案,凑合用吧。...原创 2019-01-31 10:00:45 · 671 阅读 · 0 评论 -
转 STM32F4(Flash读保护)
/**************************************************************** * Function: Flash_EnableReadProtection * Description: Enable the read protection of user flash area. * Input: * Output:...转载 2019-03-29 14:09:16 · 769 阅读 · 0 评论 -
STM32 RAM 运行code 链接收集
STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具)(strongerhuang)http://bbs.mydigit.cn/read.php?tid=2266890这个技术很重要的。在ram相对大的场合可以把代码放到ram里运行 ,就像Linux那样做!!!...原创 2019-04-10 10:21:28 · 675 阅读 · 0 评论 -
bootloader协议制定开发感悟
制订协议最好是能站在巨人的肩膀上,这样能节省时间,心里也更加有谱。自己制定协议很容易被细节带偏。对于较为复杂得的协议,整个框架一定要清晰。...原创 2018-04-04 09:24:46 · 1331 阅读 · 0 评论 -
节奏转换就是这么快,我打算放弃CCP,转向UDS的bootloader了!
看了一些资料,都提到现在流行的bootloader都是用UDS的。不知道原因。今天我再次看了CCP的代码,感觉写的还是很清晰的,但是流程不很清晰。主要是BOOTLOADER的流程不清晰。容易出问题。所以打算转向UDS了。当然CCP的已经经验在UDS里面说不准也可以体现出来,还是自己敲代码可以控制得住。UDS的代码估计网上不容易找到,即便找到了我也不想用了。自己写靠谱!!!现在研究协议,框架。UDS...原创 2018-04-10 10:42:22 · 4096 阅读 · 6 评论 -
再议CAN的bootloader
(1)在github上搜到了CAN的bootloader的不少文章。以前搜代码能在google代码库里面搜到,现在那个代码库停掉了。还是要增长见识,要站在巨人的肩膀上,所以一定要尽早学会git,尽早接受好一点的资源。stm32的官网上看样子是有个can的bootloader的PDF的。说不准能有代码。但是我现在做的话肯定是不会走那个套路的,就要用汽车的规范上面应用的bootload原创 2017-10-29 21:28:51 · 6764 阅读 · 0 评论 -
bootloader需要知道的 :HEX格式 + 如何理解分散加载
如何理解分散加载?怎么知道自己的函数是否真的分散加载成功了。就看那个map文件。就知道自己写的函数是否是真在ram中运行。对于HEX格式的校验网上有软件可以算校验值。Byte COUNT 字节个数 估计是可以换成别的值,比如0x20。这样做的目的可能是一次性写入较多字节。但这么弄总感觉有点没有必要。============================原创 2015-08-21 08:45:49 · 3174 阅读 · 0 评论 -
通过RS232和CAN的bootloader能凑合着下载了!!!
搞了些日子,前前后后,断断续续,估计有超过20天,今天终于可以由232转can下载bootloader了。上位机的232打算采用moxa里面有vb,有ymodem。bootloader该注意的问题,我也掌握的差不多了。包括hex格式,flash读写函数在 ram里的定位。还有很多细节问题。估计要弄很久。目前做的工作估摸能占20%。原创 2015-09-07 13:21:29 · 2713 阅读 · 1 评论 -
bootloader阶段小结。。。。。。
断断续续又搞了一个月。算是有点样子了。开发过程中,基本上没有写流程,写到哪里算哪里。因此大概的流程脑袋里也忘记的差不多了。目前的工作是传输过程中出现问题后,如何处理。经常告诫自己程序是设计出来的,不是调试出来的。但是这个程序基本上是调试出来的。有点混乱。由于这个程序一旦开发出来只要稳定 便不需要改动,当初就是这个想法,所以写的比较随意。但是在校验上做的还是非常严谨的。是万无原创 2015-10-22 20:35:48 · 690 阅读 · 0 评论 -
STM32的bootloader注意啥
STM32的bootloader打算下个周就开始弄了。这个属于一种通用技能。。。。。早晚要弄的。。。。STM32的bootloader其实网上的资料非常多。但是稳定性方面,还是很重要的。一直不喜欢用bootloader,就是觉得很难做的稳定。如果极端不稳定,可能就悲剧了,把片子都搞坏。基本原理好弄,网上例子很多。关键是如何把bootloader打造成十分稳定的小强。因此你看了我原创 2015-08-14 20:27:52 · 1263 阅读 · 0 评论 -
bootloader·开发总结
1、关于到底要不要加看门狗。现在看来是要加的。跑飞,不意味着一定会停在某个地方不同,可能是到处乱窜,所以就可能跑到擦写flash的地方,所以通过狗复位初始化,让程序重新运行,这样就至少不会让片子弄坏,除非复位后又跑飞。无论如何,看门狗就是最稳妥的做法。2、擦写flash驱动放在RAM,通过通信传输,这样进一步降低了非人为原因擦写flash的可能性。 ST官方的一篇文章非常好《干扰环原创 2015-11-16 09:09:25 · 1364 阅读 · 0 评论 -
BOOTLOADER开发趣事。你正在做的东西,说不准这个世界某个角落也有人在干同样的事情
今天想写篇论文,写什么好呢?前几个月搞过bootloader(可见本博客的相关文章),所以就写bootloader吧。于是搜索一下网上的文章,看看有没有什么参考啥的。于是搜到一个是大脸阿莫的飞思卡尔板块,如下: 发表于 2015-10-29 14:16:07 | 只看该作者 Bootloader例程方案,如之前的AN2295(De原创 2015-12-30 15:03:24 · 1642 阅读 · 0 评论 -
bootloader开发中遇到的编译顺序不同竟然运行得到不同的结果
mdk左侧加载c文件排放顺序改变后,竟然程序就不好用。????解决过程为:-------------具体过程为:首先追溯历史版本,发现27号下午的版本颠倒顺序好用,而28号上午的版本颠倒顺序不好用。颠倒各个C文件的位置,发现有一个文件必须在另一个文件的后面,否则运行就有问题。那么运行发生了什么问题呢?估计有可能是看门狗复位了吧?于是禁止看门狗,发现执行了原创 2015-11-16 08:54:40 · 752 阅读 · 0 评论 -
PLC设计思考
(1)网络规模网络规模比较大的话,就可以考虑采用西门子博途那种搜集网络上所有的设备。按照网友的说法,三菱对单个设备的处理做的比较好,但对于大规模组网来说,西门子的方式确实比较人性化一些。(2)用户受众看到汽车电子vflash软件的下载固件的提示信息相当专业,那么PLC基本上下载固件过程中很少有提示。可能是因为PLC受众广泛,水平不一。(3)对固件和对用户程序的不同处理查看了一些PLC,对固件的处理...原创 2018-04-30 09:40:51 · 470 阅读 · 1 评论 -
PLC设计思考[2]
前几天写过一个《PLC设计思考》,里面提到了西门子博途,这几天我又查了一下资料,觉得西门子的smartplc比较好,或者说比较适合我目前的情况。smartplc里面也有查询网络上的cpu功能。对于《PLC设计思考》提到的”对固件和对用户程序的不同处理",我我特意问了安富莱的老大,老大说直接刷用户程序没问题。安福莱老大是很猛的,我也是偶然才在论坛发现他以前曾经开发过一款PLC,属于编译器那种级别的开...原创 2018-05-02 08:27:45 · 333 阅读 · 0 评论 -
f_mount()的第二个参数必须占用固定内存
FATFS fs FRESULT result; result = f_mount(FS_SD, &fs); /* Mount a logical drive */ 写了个函数换了个位置,竟然不好用了!最终发现换了位置后,fs没有被分配固定内存。 所以要fs前面加个static就好了! 这个问题搞了两天!终于在农历8月...原创 2018-09-24 17:36:16 · 3913 阅读 · 0 评论 -
关于远程下载
这里的远程,指的是很远,比如两个城市之间,那么只能通过TCPip,不能通过usart或者CAN。采用TCPIP的话,只能采用TCP,不能采用UDP。因为让UDP连续可靠,很困难。目前近距离传输采用usart或者CAN都是假设干扰很小的情况下,假设干扰很大,那么麻烦很大,比如CAN,为提高下载速度,采用了小块传输,就是几十个CAN帧对应一个响应帧,并且在大块传输完成之后才进行校验,如果失败,...原创 2018-07-25 15:18:02 · 301 阅读 · 2 评论 -
BL 自动分配节点地址
初始状态bootloader情况下,总线下加入有多个控制器都处于bootloader状态下(就是没有进入app),那么就可以向DHCP学习一下了,给随机分个节点地址。当然随机分配的节点不能和已有节点冲突。为了使问题简单化,一次可以只是分配一个节点地址。...原创 2018-06-26 11:23:38 · 580 阅读 · 0 评论 -
让MDK代码没有被调用的函数也编译进入?咋弄!
KEILC51是没有被调用的函数都编译进去的。但是MDK arm是没有调用的就没有被编译进去,现在我要搞不同的工程,调用同样的固件,放在同一个地址。需要没有被调用的函数也好便一起进去。咋弄?目前还没有找到好的方法。...原创 2018-06-19 09:30:10 · 2304 阅读 · 2 评论 -
2018年技术规划调整
增加两项:(1)主要完成 bootloader。一个bootloader兼顾RS232/以太网/CAN,在同一个上位机。不弄USB更新程序。上位机下半年要着手开发,边开发边调整,难度未知,但是基本可控。一个bootloader要注重通用性,最好与CPU无关。(2)MQTT为什么要研究MQTT,一个是与以太网相关,会加深对网络的理解,另一个是可能会将控制引入手机端。(3)发表论文一篇,发明专利一篇重...原创 2018-04-28 13:49:00 · 576 阅读 · 0 评论 -
vs2008 在WIN7安装失败。?
删除office 2007就好了。http://tieba.baidu.com/p/1246967801原创 2018-04-21 08:37:34 · 924 阅读 · 0 评论 -
bootloader与app区域代码重叠导致进入HardFault_Handler!
原先以为是堆栈溢出,后来发现是APP代码的起始地址竟然在bootloader代码区域之内。这样 可能把bootloader本身给擦写了。所以写入app之前检查要检查写入的地址范围。另外还有一点,在写app途中,假设bootloader频繁发生看门狗复位导致频繁写入app,那么片子不就挂了么?所以到底用不用加上看门狗复位呢?这个还要好好考虑。原创 2015-08-31 10:54:37 · 1695 阅读 · 0 评论