1 Boot loader(系统引导程序)
单片机程序,通常存储在 ROM,EEPROM或者FLASH中,系统上电复位后从RESET的中断地址开始执行。这就是Normal的启动过程。另外一种启动过程是Boot启动。出现Boot loader是在应用了嵌入式操作系统之后。因为运行任何一个操作系统需要更高的速度,把程序放到RAM中执行速度更快一些,所以,需要在系统上电后,把程序代码复制到RAM中,然后从RAM中开始运行程序代码。Boot loader大多存储在On chip ROM中,是系统复位后,程序开始执行的位置,它只对系统做很少的初始化,然后把程序加载到RAM中,最后,开始运行操作系统。有的程序代码是经过压缩了的,这种情况下Boot loader是要把解压过的程序加载到RAM中。
不同的芯片,不同的操作系统会有不同的Boot loader.所以在做一个新的系统之前,需要看一些关于系统Boot loader方面的文档。
2 BSP(Board support package)
操作系统不能直接支持硬件,必须通过BSP把操作系统和硬件连接起来。不同的操作系统有不同的BSP。也可以说是硬件驱动程序。
我看到,有一些产品的程序中,例如BLUETOOTH,也有一个BSP,将BSP和系统的实时操作内核放在了一起,并且打包起来,没有开放BSP部分的代码,只告诉生产厂家这是一个BSP。这种做法,使那些不太了解实时操作的程序员迷惑不解。
小结:
软件要适应硬件和应用的发展,不断的发生变化。经常出现一些新名词,虽然在新名词出现的时候,会有一大堆的解释,但还是让人迷惑不解。而源代码又是看不到的。
的确如此,如果能够同时看到源代码,所有问题就会迎刃而解。而实际上这是不可能的。有一些源代码是被开发商封装隐藏起来的。大家对软件的保密是越来越关注了。
其实,这也无关紧要,既然软件是模块化的,你也不需要去理会那些已经成熟的东西,重要的是做好自己的应用。你能在自己能力的范围内做的更好,做出差异化,做出经济效益才是真工夫,才是企业真正的核心竞争力。
唯一不变的是一切都在变。别忘了万变不离其宗,只要掌握了模块化思想,和时实操作的技巧,出现任**名词时,都可以通过阅读文档、查看源代码、利用以往的经验、并根据一点点想象迅速的适应它。
本系列文章列表:
用户1688566 2013-3-29 15:52
用户1627584 2011-10-8 22:04
用户1551115 2011-10-8 08:18
用户1605770 2011-4-21 12:28
用户1170725 2011-4-1 13:09
用户1450811 2011-3-25 13:41
用户1560314 2011-3-24 19:20
用户1560314 2011-3-24 18:13
peng36933_557691152 2011-3-24 08:25
用户1573466 2011-3-23 23:50