|
本帖最后由 lelee007 于 2014-5-29 18:37 编辑
不知道LS对于bootloader是否有清晰的概念,如果不清楚bootloader是什么的话,建议先baidu恶补一下
IBL实际上是一个中间级的bootloader,DSP本身都是有内部固化的bootloader,叫rbl,因为受限于固化rom空间的限制,rbl不可能做的太大太复杂,因此如果需要功能复杂的bootloader就不能依赖于rbl了,得实现一个rbl到最终app中间的一个bootloader
这个中间级的bootloader可以实现很多功能,因为其大小不会有太多限制
然后这个中间级的bootloader在上电之后由rbl引导起来,实际就是在rbl之后再运行,因为DSP的架构没法绕开rbl,所以即使中间级的bootloader也一样需要由rbl来引导加载才能运行
在6678上,这个中间级的bootloader,就是IBL了
IBL的功能就丰富多了,其中就包含可以解析ELF格式文件,并根据解析结果来加载ELF,只要ELF存放于nor flash中指定位置,IBL就可以根据外边的一些拨码开关配置来读取nor flash中存放的ELF文件,并加载其至内存中正确的位置,然后跳转到该ELF文件的可以执行部分的第一条指令,后续控制权就不在IBL了,而是被IBL加载起来的ELF文件的代码了
|
|