(╯‵□′)╯︵┻━┻ 我们要bootloader干什么?

来源:互联网 发布:连云港管家婆软件 编辑:程序博客网 时间:2024/04/28 23:06

本周四,部门内训bootloader,讲了大概有2个多小时吧,然后第一堂课草草结束,下周会接着讲。

关于这一次的培训,我个人感觉,这是一次很失败的内训,至少我本人是这么认为的,没有达到我想像的效果,我本想着重讲在mb9af310系列芯片的flash program的,结果刚打开datasheet就被主管否了,蓝瘦。结束之后,回到座位我问同事听懂没有,“内容一下子太深入,接受不来。”

其实这也是我自己的感觉,因为我也是看了很久才慢慢了解到bootloader的一些启动机制的,然后我第一堂课就直接给同事讲flash program,讲控制软件的代码实现。似乎有点强人所难了。

我说说这次内训的原计划:

1、大致说说bootloader的作用,需求来由(这个绝对不是我想讲的重点);

2、讲解上位机软件的操作,然后如果有问题该怎么解决;

3、讲解上位机软件与下位机的通讯过程,如何握手;

4、讲解上位机软件与下位机的通讯协议,一些命令的解析;

5、讲解下位机应用程序的编写规范,主要是_at()命令的一些注意事项,各个编译地址的固化;

6、讲解bootloader控制程序的通讯机制;

7、讲解bootloader控制程序的flash操作;

8、问答。

讲解的过程中不是我想像的一人主讲,下面听就得了。而是一堆的问题汹涌而至,似乎成了以问答的形式,然后我发现自己对bootloader通讯机制的一些细节还是有点模糊,但幸好有还有高个子(bootloader的编写人)顶着,把思路理顺了,然后能接着讲下去。

上述的几个过程大概只完成了2、3、5这几个阶段,没有讲到我最花时间搞懂的flash操作的阶段,这是我比较失落的地方,我觉得这才是bootloader的技术难点。

关于flash操作有几个问题是必须看datasheet才能知道的,以cypress的mb9af310系列的芯片为例。在对flash操作的时候,必须要处在flash program的阶段,而芯片复位的时候默认是处在cpu rom阶段的,而在不同的阶段,对flash的操作的权限又不一样,cpu rom模式下有字操作权限,flash下只有半字操作权限。进入不同的模式需要个寄存器写入不同的命令,且是顺序写入。还有关于扇区的排列,flash扇区对内存地址的映射。这里面的内容还是比较多的,但是……(╯‵□′)╯︵┻━┻,没人问我啊。

最让我失落是最后有一个问题 “我们要bootloader干什么?”_(:зゝ∠)_  败给你了。

最后说说自己不足的地方,上位机的编程不懂,自从写过一次计算器之后,一直抗拒学习编写上位机软件,现在好像有打破这个桎梏的冲动了。

写于2016年12月8日 深圳夜

0 0
原创粉丝点击