(╯‵□′)╯︵┻━┻ 我们要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日 深圳夜
- (╯‵□′)╯︵┻━┻ 我们要bootloader干什么?
- 我们要那么多金牌干什么?
- 我们要那么多金牌干什么?
- 大学,我们该干什么?
- Autoit3我们用来干什么?
- 毕业了,我们干什么?
- 毕业了,我们干什么?
- 毕业了,我们干什么?
- 毕业了,我们干什么?
- 毕业了,我们干什么?
- 我们都在干什么
- rose能帮我们干什么?
- 我们来这里是干什么的?
- 大学最后一个学期,我们在干什么?
- 我们在干什么 --或许未来是由我们主宰
- 不知道干什么的时候要干什么
- Google要干什么?
- 要男朋友干什么
- powerdesigner中使用mysql逆向工程生成pdm,附带解决注释乱码
- canvas聚焦
- 单链表的整表删除
- pip 阿里源
- HTML基础2
- (╯‵□′)╯︵┻━┻ 我们要bootloader干什么?
- SpringMVC中文乱码解决思路
- OpcRcw.da.dll在x64模式下编译运行失败的一次调试经历
- python中array的使用
- 一个轻量级Javascript Cookie API
- EasyPR--开发详解(2)车牌定位
- Opencv-遍历图像的几种方法
- Java 与 C++ 的缠绵瓜葛(语言对比)
- php通过Apache搭建的服务器电脑端通过127.0.0.1可以访问,手机无法访问的问题