微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DSP编程技巧---在main函数运行之前,你需要知道的

DSP编程技巧---在main函数运行之前,你需要知道的

时间:12-21 来源:互联网 点击:

加载到RAM而不是ROM中的情况下,比较方便的方法是直接把.bss段初始化为0。

  而在C28x DSP的编程中,如果一个全局变量的初值并不会对程序的运行结果产生任何影响,则我们一般不用考虑给它们赋初值,因为编译器会使用.cinit段中的初始化表格来初始化变量,叫做自动初始化autoinitialization,其示意图为:

  在使用了--ram_model或者--rom_mode选项的情况下,链接器在把所有C/C++模块中的相关变量初始化的内容链接入.cinit段之后,会自动在其末尾加入null关键字,来标明初始化表格的末尾。

  4.调用.pinit中的所有的全局构造函数。

  .pinit段中的内容相对简单,它主要包含了构造的地址列表。在.cinit初始化完成之后,构造函数的地址就出现在构造函数地址列表中了。

  在使用了--ram_model或者--rom_mode选项的情况下,链接器在把所有C/C++模块中的构造函数的地址链接入.pinit段之后,会自动在其末尾加入null关键字,来标明构造函数地址的结束。

  与.cinit段不同的时,不管使用--ram_model还是--rom_mode选项,.pinit段都会在运行时被加载和处理。

  5.调用main()函数,执行我们的程序。

  6.在main()函数返回时,调用exit函数。

  根据需要,我们可以自定义启动函数,但是一定要保证我们的自定义函数能够正确完成以上的步骤以建立C/C++的实时运行库环境,否则我们的程序将无法正常运行,甚至根本无法运行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top