Part Number: TMDSCNCD28388D
Tool/software: TI C/C++ Compiler
Hello All
TI_RTOS Kernel (SYS/BIOS) User's Guide SPRUEX3U February 2018
Chapter 3.1 SYS/BIOS Startup Sequence
1. Immediately after CPU reset, perform target/device-specific CPU initialization (beginning at c_int00).
See the "Program Loading and Running" chapter in the Assembly Language Tools User’s Guide for
your target family for details on this step and the cinit() step.
2. Prior to cinit(), run the table of "reset functions" (the xdc.runtime.Reset module provides this hook).
The functions specified in the Reset.fxns[] array are called. These reset functions are called only on
platforms where a reset is performed before running a program.
3. Run cinit() to initialize C runtime environment.
4. Run the user-supplied "first functions" (the xdc.runtime.Startup module provides this hook).
5. Run all the module initialization functions.
6. Run the user-supplied "last functions" (the xdc.runtime.Startup module provides this hook).
7. Run pinit().
8. Run main().
So example tcpEchoF2838X example, which I debugging on the TMDSCNCD28388D board,
Contains *.cfg file and accordighly this file
path SYS/BIOS->System->Startup->Module Settings
Initial Size Options Startup Setting
Heap Size 0 User reset function - null
Stack size 2048 Maximum module init passes - 32
Argument Size 0
Function Called Before C Runtime Initialization Function Called Before Module Initialization
N/A First function 0 - ti.sysbios.heaps.HeapMem.init
Firstfunction 1 - ti_sysbios_family_arm_f2838x_init_Boot_initStartup
First function 2 - ti_sysbios_hal_Hwi_initStack
First function 3 - ti.sysbios.family.arm.m3.Hwi.initNVIC
Function Called After Module Initialization
N/A
The function number one of "Function Called Before Module Initialization" list. - ti_sysbios_family_arm_f2838x_init_resetISR,
make jump to the assembler standart _c_int00,
But accordinghly mentioned above Chapter 3.1 it is should be in step 1 but it is done in step 4.
So I have some doubts about correctness this list of functions.
Is it correct content of "Function Called Before Module Initialization" list?
Why this function is placed to the Function Called Before Module Initialization
but not to the
1) to the Reset vector as it described in User's Guide SPRUEX3U February 2018
Or
2) to the Function Called Before C Runtime Initialization
I asked it because mentioned above example has problem with CM application loading and resét (see the thread "TMDSCNCD28388D: TCP/IP debugging")
Best Regards
Andrii Shevchuk