VXWorks adding functions to header files

夙愿已清 提交于 2021-02-10 22:16:57

问题


I'm trying to add my own function to jobQueueLib and step through the lines of code for that, or any of the functions there (which are all EXTERNs).

Stepping through the .h function call goes straight to assembly if I don't put #include <jobQueueLib.h>, which is referring to vxworks-6.9/target/h/wrn/coreip/jobQueueLib.h

With the include added, stepping into a same existing function causes a segmentation violation.

UPDATE: My issue is C, downloadable kernel module project build, or component related (even though I checked it is an included component in the VIP)--as I'm getting a warning at compile time that Module symbols cannot be resolved: jobQueueTerminate, or any other calls to any functions in that .h file (they're all EXTERNS).

Checking with the include statement removed, I still can't call any functions from vxworks-6.9/target/h/wrn/coreip/jobQueueLib.h so I think this is a project level include issue. Here are my DKM project includes (last one is redundant but I don't see a way to remove it):

includes

How do I get the symbols to resolve?


回答1:


Finally got the flow to run a DKM with your own modified source code:

Make the changes in whichever C files desire -> make a VSB and build it with that source code included -> make a VIP that's based off this VSB and build it -> use one of the ouput VXWorks binaries of this VIP and "connect to target simulator" -> make your DKM referenced from the VIP (DKM will be subproject of the VIP) -> finally, execute the DKM on the target connection made earlier!

P.S. I'm using SIMLINUX do the VIP build is LINUX and I used the VXWorks Linux binary output from building the VIP.



来源:https://stackoverflow.com/questions/63460636/vxworks-adding-functions-to-header-files

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!