• vxworks6.6 可以开始使用printf的地方


    截一下今天在vxworks6.6群中的一段对话(后来发现是和群主对话,呵呵),来说明vxworks6.6中printf在哪里可以被调用并显示出信息。

    siling-北京(117838621) 18:09:28 
    tr(53672549) 和sputnik(195375690)还在么?
    sputnik(195375690) 18:10:14

    siling-北京(117838621) 18:10:35
    还是我上面提到的printf
    siling-北京(117838621) 18:10:37
    呵呵
    siling-北京(117838621) 18:10:59
    我在usrroot最后添加printf,还是打印不出来,
    siling-北京(117838621) 18:12:24
    能说明一下么?
    sputnik(195375690) 18:12:57
    。。,。。。。。
    siling-北京(117838621) 18:13:39
    就是我前面说的printf在vxworks那个函数后可以打印出信息
    siling-北京(117838621) 18:13:59
    您前面说不是在usrRoot后么?
    sputnik(195375690) 18:16:01
    你没玩过5.5吧
    sputnik(195375690) 18:16:22
    usrroot是不会连接上的 在all目录下
    siling-北京(117838621) 18:16:31
    没,我对bootm不了解,来公司后就一直弄6.6的
    siling-北京(117838621) 18:16:47

    sputnik(195375690) 18:17:27
    你加printf想干什么?
    siling-北京(117838621) 18:18:21
    呵呵,看看启动信息呀。。。
    sputnik(195375690) 18:18:35
    什么信息?》
    sputnik(195375690) 18:19:00
    其实vxworks不是用all目录里面直接生成的,
    sputnik(195375690) 18:19:11
    是动态调用的
    siling-北京(117838621) 18:19:19
    我就是想问问哪个地方开始可以使用printf?
    siling-北京(117838621) 18:19:36
    这有关系么?
    sputnik(195375690) 18:20:36
    你可以去你的工程目录(不是BSP目录)下的prjconfig.C里面看到和all目录下的usrconfig.c一样的函数
    sputnik(195375690) 18:20:49
    在prjconfig。c里面添加就可以
    sputnik(195375690) 18:21:03
    但是不能rebuild工程,只能build工程
    siling-北京(117838621) 18:21:19

    sputnik(195375690) 18:21:52
    只要不是rebuild 就可以了
    sputnik(195375690) 18:21:56
    你仔细研究下
    siling-北京(117838621) 18:23:02
    不过我现在在usrappinit.c的usrAppInit()中添加的打印信息就可以看到,但是这个是最后的一个函数了,,,因此我就是想推推前面的什么地方。。。
    sputnik(195375690) 18:23:26
    可以的退前的
    siling-北京(117838621) 18:23:54
    不rebuild,只build,不是很理解,,呵呵,小弟愚钝,还是谢谢你了。。。
    sputnik(195375690) 18:24:31
    rebuild会重新生成prjconfig文件
    sputnik(195375690) 18:24:41
    build就不会去重新生成
    siling-北京(117838621) 18:25:07
    哦,呵呵
    sputnik(195375690) 18:25:16
    你可以在prjconfig.c文件里面的usrroot里面自己添加prinft看看就知道了
    siling-北京(117838621) 18:25:27
    好,我是一把
    sputnik(195375690) 18:25:50
    我记得好像是:
    usrIosExtraInit (); /* extended I/O system */
    sputnik(195375690) 18:25:56
    这个之后就可以打印了
    siling-北京(117838621) 18:26:03
    呵呵

    对于群主说的那个
    你可以去你的工程目录(不是BSP目录)下的prjconfig.C里面看到和all目录下的usrconfig.c一样的函数 我不是很理解,后来想一想,估计是5.5的vxworks是用all目录里面直接生成的(这也可以体会一下,为什么这个all目录下的usrconfig.c中也有usrRoot了,并且几乎全部都是有预编译的。),可以不管。

    1.最终得出一个结论,在usrIosCoreInit()((projConfig.c/usrRoot()))后面的函数中可以调用printf(),但是不知道前面的函数中是如何打印信息的,不明白。
    2.对应projConfig.c,这个文件的内容一经编译,马上就会重新生成,你添加的任何东西头没用(后来我查了一下,网上确实有个帖子,可以进行修改,可以参考一下:http://blog.sina.com.cn/s/blog_4ce2cdfa0100iwnb.html),很是麻烦,最后发现还是在usrappinit()这个函数中添加一些功能最好一些

    3.通过本次流程分析和我以前移植的end网络驱动(基于vxworks6.6的end模型移植)中,起始的调用流程为这样:
    进入endload以前,先是调用在d:/windriver/workspace/mpc8377/prjConfig.c中的usrNetworkInit()函数中的usrNetEndLibInit()
    也就是endload/endstart<--muxDevLoad()/muxDevStart()<--srNetEndLibInit()[prjConfig.c]<--usrNetworkInit()<--usrRoot()….
    这就是vxworks6.6兼容5.5模式的特性,确实和5.5的调用方式不一样,并且我那时也可以使用printf,是因为这个printf是在usrNetworkInit()之后调用的,呵呵,确实是可以使用的。

  • 相关阅读:
    双指针
    二维数组 查找常用字符
    将数组分为相等的三部分
    交换 排序
    买股票
    双指针 回文数
    双指针
    测试SM图床
    cnpm,vue等命令不识别的问题废人解决方案
    typeof面试题解答
  • 原文地址:https://www.cnblogs.com/fishoneseaatblog/p/2271145.html
Copyright © 2020-2023  润新知