3 Replies Latest reply on Aug 18, 2019 7:55 PM by LinglingG_46

    PSOC4100S初始化程序

    HaYa_4104701

      1. PSOC初始化程序放在哪个函数里

      2. PSOC在启动时,是否会进行堆栈初始化?

      请大牛帮忙

        • 1. Re: PSOC4100S初始化程序
          LinglingG_46

          1: 程序的初始化,你可以看工程编译之后,生成的文件 cy_boot。

             你可以看一下cyfitter_cfg.c 文件中,有没有想需要的部分。

           

           

          2: 启动时,会进行堆栈初始化的。

          • 2. Re: PSOC4100S初始化程序
            HaYa_4104701

            1. 没找到cyfitter_cfg.c

            2. 初始化是把堆栈里的值全都置‘0’,是吗

            • 3. Re: PSOC4100S初始化程序
              LinglingG_46

              stack 和 heap的初始化是在cm0gcc.ld(如果是gcc编译器)

               

              以附件工程为例:

               

              1:找到 cm0gcc.ld 文件,

              2:找到

               

                  /* The .stack and .heap sections don't contain any symbols.
                  * They are only used for linker to calculate RAM utilization.
                  */
                  .heap (NOLOAD) :
                  {
                    . = _end;
                    . += 0x80;
                    __cy_heap_limit = .;
                  } >ram

                  .stack (__cy_stack - 0x0800) (NOLOAD) :
                  {
                    __cy_stack_limit = .;
                    . += 0x0800;
                  } >ram

              /* Check if data + heap + stack exceeds RAM limit */

                  ASSERT(__cy_stack_limit >= __cy_heap_limit, "region RAM overflowed with stack")