打印
[应用相关]

SensorTile的boot过程

[复制链接]
479|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1、在提供的范例包中,motenv1中已经有了hex文件,可以直接下载到内存。这个过程,体现了L476的启动和内存分配过程。2、首先执行,CleanMotEnv1.bat命令行文件,这个文件执行以下过程。
- 擦除Flash
- 把正确的Bootloader写入起始地址
- 把随后的MOTENV1firmware写入随后的一个地址块中
- 把整个文件都写入。这个过程可以用st-link的写入,也可用mbed的drag  and drop复制功能。
3、这张图显示了这个循环的过程和地址分布。其中bootloader在0x0800 0000起始地址,随后的MOTENV1在0x0800 4000中开始。分配给OTA的地址不适用在本程序中。


4、在这个范例中,起始体现了STM32L4xx的启动过程。在手册中boot有专门的启动位,确定程序启动后的地址。通常都会从flash启动,从0x0800 0000地址启动,并写入文件。对于相对复杂的程序,一般会写入一个firmware,便于程序调用,包括协议栈和专用的HAL包等。而不是通常小容量MCU的顺序分配空间。
在此分享一下使用的过程。
5、随后开始的开发环境使用。原计划采用的mbed不是非常的理想,因为这个芯片是最小的JG系列,而mbed.org中是L476RG系列,这个在管脚上是完全不兼容的,因此,如果移植,还要对照2种芯片的数据,才能很好适用,无形中增大了复杂度,而且也不能预知结果。
最后采用IAR30天评估版本,估计可以了。手册中推荐的Nucleo板载st-link其实不是那么好用。因为,nucleo支持两种驱动,mbed和stlink。如果使用IDE不支持CMSIS-DAP的话,就要把firmware升级为stlink。这个过程并没有一次成功,不能识别出MCU。还好有存货,专用的stlinkv21,连接上就好。
这个这个过程发现其实只要4根线就可以了,其中第5位的是reset,在下载器中,看来是没有用到。可以直接flash和erase。这样就可以省一根线了。

使用特权

评论回复
沙发
xinxianshi| | 2020-12-14 21:53 | 只看该作者
多谢分享。

使用特权

评论回复
板凳
powerantone| | 2020-12-15 17:14 | 只看该作者

没用过NUCLEO默认不是STLINK吗

使用特权

评论回复
地板
zljiu| | 2021-1-7 20:25 | 只看该作者
整个过程介绍的非常详细

使用特权

评论回复
5
coshi| | 2021-1-7 20:26 | 只看该作者
请问起始地址是多少

使用特权

评论回复
6
aoyi| | 2021-1-7 20:27 | 只看该作者
如果失败的话如何进行处理呢

使用特权

评论回复
7
drer| | 2021-1-7 20:28 | 只看该作者
drag  and drop 是什么意思呢

使用特权

评论回复
8
kxsi| | 2021-1-7 20:29 | 只看该作者
图示的处理非常的方便理解

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2038

主题

7364

帖子

10

粉丝