I want to add functions to the default vxworks Ball DKM project. I've copied the style I see for all the functions that I am able to call from a given header file and declared my own in master/vxworks-6.9/target/h/wrn/coreip/netBufLib.h
:
EXTERN void hello(void); //also tried EXTERN void hello();
I then added the body in the only corresponding source file with the same name (master/components/ip_net2-6.9/vxmux/src/mem/netBufLib.c
)
void hello() {
printf("hello, world from netbuflib.c!");
}
At project build time I get the warning:
On downloading module '/ball/SIMLINUXdiab/ball/Debug/ball.out' on target vxsim2_0, the module symbols could not be fully resolved
Unresolved symbols list: hello
Do you want to continue launch and ignore...
If I proceed, naturally a seg violation occurs when I call hello()
.
Is there a linking step or something I have to do besides clean the project and rebuild it because of Eclipse/VXWorks? Or is it maybe related to using SIMLINUX or a target vxsim simulator? Finally I suppose it could be that the source file is not the correct corresponding source code, even though it is the only same named one in this directory (VXWorks repo could only come with compiled assembly)?