kernel程序编写的时候,主函数main()的名字改成CKFAmain()。
由于该函数在RAM中运行,所以CMD中指定:
BEGINckfa : origin = 0x008000, length = 0x000002
codestart : > BEGINckfa, PAGE = 0
编译后报错:
undefined first referenced
symbol in file
--------- ----------------
_main C:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib/rts2800_fpu32.lib<args_main.c.obj>
原因:
*_c_int00函数在in RTS library中,这个库其实有汇编源文件boot28._asm,这个源文件就是 _c_int00所在的位置.
*即使是在RAM中运行,JTAG为运行准备好了运行环境,CMD 的BEGIN 指定的code_start段运行CKFA_Start.asm中的code_start函数,这个函数调用_c_int00,跳转到main,
*但是在库中,main无法修改,所以要找到库中的源文件,自己修改,也就是boot28._asm这个文件,把main修改成CKFAmain,然后在工程中加入boot28._asm,
*于是工程就不再调用库中的那个boot28._asm了。这样就不会报错没有定义main了