• 对树莓派学习开发环境的探讨


    很多小伙伴买pi的都喜欢自己在上面折腾点好玩的小项目,我也一样。购入pi后一直用在上面学习c/c++和python,不过现在回想起来大部分

    时间都在折腾开发环境,一直想打造一个完美的,走了不少弯路。这里总结一下,会引用一些网络上大神的教程。希望能对新手有些用处,也希

    望能有大神能提供更好的方案。

    编译环境:

    raspbian系统都已经自带gcc编译工具链,编译c/c++程序可以说很简单了,就是有点慢,不过对于代码的学习足够了。对于需要编译多个文件的
    项目,你就需要多了解gcc各项参数和makefile相关知识。

    gcc相关文档:
    http://pan.baidu.com/s/1bnycICn

    一个大神的makefile教程:
    http://www.chinaunix.net/old_jh/23/408225.html
     
    项目太大,比如说编译内核,觉得在树莓派中编译太慢可以考虑交叉编译,在pc上编译速度快的飞起。
    linux下的交叉编译工具链:

    https://github.com/raspberrypi/tools

    发大神的安装配置教程:
    http://blog.csdn.net/xukai871105/article/details/24932611
     
    window下的交叉编译工具链需要类linux环境,推介使用cygwin。安装cygwin默认带编译环境需要的一些工具只需要在装一个make和cmake。


    windows教程编译工具:
    https://github.com/IanLinsdell/Raspberrypi


    大神的教程安装配置教程:
    http://blog.sina.com.cn/s/blog_45262c8b01016rya.html
     
    编译的时候如果要链接需要gcc添加-L参数指定搜索路径。推介常用的库(比如说libwiringPi)和pi一样在arm-unknown-linux-gnueabi/sysroot/usr目
    录下建立local/lib和/local/include安装。
     
    编辑环境:
    在这个上面画了大把时间。。。 一开始pi用vim,用的越来越熟练,装的插件也一多后,pi上的vim卡的不能动,最后只能吧这些插件都删除了。保留了一
    个简单配置来完成一些简单的编辑工作。
     
    pi上的vim配置:
    http://pan.baidu.com/s/1bn0K6sf


    安装的插件:

    putty下的效果:

    需要安装:
    sudo apt-get install vim-nox


    拥有简单的文件管理,python代码可以补全。

    之后我还用过source insight加samba来写代码,但是效果和不理想,无线网络用起来卡卡的。后来能交叉编译后就把代码放在pc上编辑,就不

    卡了,效果还可以,但是没有linux系统函数和c++ STL补全。
    有听说ecplise不错,配置一下是能补全,用了一下感觉太笨重,不喜欢这种太复杂的软件。

    到最后我终于发现了windows能装vim,一直对vim有好感,而且pc的性能可以满足我装插件的需求了。最主要是可以装ycm了,vim+ycm比较

    完美的ide。


    发一位大神的vim教程,初学者必读吧。
    https://github.com/yangyangwithgnu/use_vim_as_ide

    如果是交叉编译,推介配置一个samba服务,把服务挂到pc的目录节点上。这样会方面很多。windows下的“net use x: \ipservername password /user:username” 这

    条命令可以映射到本地盘符。在编译的时候直接把目标输出到这个盘。

    编译的时候直接把结果直接输出到 x盘。

    就能在pi运行了。

     ycm自带jedi引擎,python的的补全也能支持,而且快。不过wxpython这个库没法补全,折腾了很久都没搞定。

  • 相关阅读:
    插入排序和顺序查找,折半查找
    单链表有环判断问题解决办法
    INT_MAX和INT_MAX
    最简单的学习往往是最无效的
    基于Windows安装Mysql数据库
    禁止跨域_五分钟带你了解跨域
    搞定SpringBoot多数据源(2):动态数据源
    API网关(API GATEWAY)是什么?有什么作用?
    一文搞懂蓝绿发布、灰度发布和滚动发布
    第九篇 bootstrap实例
  • 原文地址:https://www.cnblogs.com/steed/p/7543509.html
Copyright © 2020-2023  润新知