美文网首页RTOS和GUI_基于英飞凌tc2x及stm32开发板
构建工具scons应用外部编译器CCRH--Apple的学习笔记

构建工具scons应用外部编译器CCRH--Apple的学习笔记

作者: applecai | 来源:发表于2020-04-19 19:01 被阅读0次

    因为我之前有个想法,就是成为RT-thread tricore的贡献者,因为RT-thread中正好缺少TC内核。但是有计划前需要先进行可行性评估。
    我在官网学习了上传流程后,发现需要使用env环境,然后它的构建工具是scons。发现虚拟环境使用的编译器tool文件夹下没有hightec。所以在scons官网学习了下如何自建工程,使用外部编译构建。最简单的就是gcc体系-c -o的,那么我想hightec编译器tricore-gcc应该很容易就可以用起来。
    结果验证了不行,需要lisence。由于scons不是应用程序,我理解为是python37的一个壳。所以访问调用外部编译器估计有麻烦。直接在cmd命令中输入tricore编译命令,就可以正常使用的。那么我想成为RT-thread tricore内核的贡献者是不可能了。


    image.png

    既然学习了scons,总是希望能让其起作用,并且我要验证下能否自己构建环境,于是想到了CCRH在我本机可以用。虽然它不是gcc体系的,但是我仅简单使用,把命令定死,只要能用scons来构建外部工程,我认为本次学习就没有白花时间,不抛弃,不放弃继续尝试后,成功啦~


    image.png
    作为初学者,制作了如下构建代码,成功使用ccrh编译最小工程~
    下一步我还是准备多学习下meson这才是当下主流的构建工具,WIN10上的cmake做交叉编译不方便,只支持一个ghs。
    env = Environment( CC = 'G:/CC-RH/V1.07.00/bin/ccrh.exe',
    CCFLAGS = '-Xcommon=rh850 -Xcpu=g3m -g -Xmsg_lang=english -Xobj_path=DefaultBuild',
    TARGET_ARCH = 'arm',
    HOST_ARCH = 'arm',
    CCCOM = '${TEMPFILE("$CC $_MSVC_OUTPUT_FLAG -c $CHANGED_SOURCES $CFLAGS -g_line '
            '$CCFLAGS ","$CCCOMSTR")}',
    ASCOM = '$CC $CCFLAGS -c $CHANGED_SOURCES',
    LINKCOM = 'G:/CC-RH/V1.07.00/bin/rlink.exe -subcommand=DefaultBuild\Apples.clnk',
    #LIBPATH = 'G:/CC-RH/V1.07.00/lib/'
    )
    asmobj = env.Object(['boot.asm','cstart.asm'])
    env.Program('main.c',LINKFLAGS = asmobj,CPPPATH = '.')
    

    相关文章

      网友评论

        本文标题:构建工具scons应用外部编译器CCRH--Apple的学习笔记

        本文链接:https://www.haomeiwen.com/subject/ogjbbhtx.html