单片机没有像ARM那样的bootloader,但是对源程序编译完之后,生成目标文件的时候,会有一个链接过程,以msp430系列单片机为例,这个过程中会用到.xcl、.ddf、.sfr文件,这些文件中指定了堆栈大小,数据段、代码段放置在flash中的位置等信息。
是不是可以认为,这些工作其实就是在为用户程序正常运行准备合适的环境,因此,这个链接过程就相当于在编写对应芯片系列的bootloader。而flash中的用户程序,即main()函数开始运行之前,系统会根据.xcl、.ddf、.sfr文件中的内容,对环境进行设置,而后才是运行用户程序。 |