我的程序在运行到特定时候需要人为的重新的启动系统,我使用了“reboot(2);)语句,用来重新启动系统并清除内存,但是系统没用重新启动,不知道这样使用对不对,是不是需要调用shell命令解释器一类的函数,有没有哪位大侠使用过?
另外再请教一个问题:
有没有什么方法来重置当前系统的符号表,我希望清除系统中所有由应用程序产生的相关符号,如全局变量,函数名等?
第一个问题:可能跟你的bsp有关,问下做硬件的人可能会得到答案
第二个问题:应该可以吧,好像有个存放符号表的变量,找到他,然后在你的程序里用extern声明一下,就可以对它操作了,不过不知道会不会影响系统符号表
第一个问题楼上的回复应该是对的,reboot实际上就是一个函数而已(所谓Shell命令都是执行某个函数),它
调用sysToMonitor,一般是跳转到bootrom中执行,但这个是BSP可配置的,检查一下BSP。
第二个问题不知道你要达到什么目标?实际上VxWorks如果生成bin文件是不带任何符号的,其符号表是编译一个
数组进去,再创建一个Hash表索引,如果不想要在工程中配置可以不编译进去。
如果只去掉一部分就比较麻烦了,自己写编译脚本可以把这一部分放在生成符号表之后再链接进来就可以了。
不过没有符号表Shell调试就没办法用了。